docker 安裝、升級(jí)、修改數(shù)據(jù)目錄的操作方法
1、查看系統(tǒng)要求
Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本高于 3.10 ,查看CentOS的內(nèi)核版本。
uname -a
2、刪除舊版本
yum remove docker docker-common docker-selinux docker-engine
3、安裝需要的軟件包
yum-util 提供yum-config-manager功能,另外兩個(gè)是devicemapper驅(qū)動(dòng)依賴的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4、設(shè)置Docker yum源
# 使用官方源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 使用阿里源 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
5、查看所有倉(cāng)庫(kù)中所有docker版本
可以查看所有倉(cāng)庫(kù)中所有docker版本,并選擇特定的版本安裝。
yum list docker-ce --showduplicates | sort -r
6、安裝docker
sh
sudo yum install docker-ce
由于repo中默認(rèn)只開(kāi)啟stable倉(cāng)庫(kù),故這里安裝的是最新穩(wěn)18.03.0.ce-1.el7.centos。
如果要安裝特定版本:
sudo yum install docker-ce-18.06.1.ce
7、啟動(dòng)
設(shè)置為開(kāi)機(jī)啟動(dòng)
systemctl enable docker
啟動(dòng)
systemctl start docker
查看啟動(dòng)狀態(tài)
systemctl status docker
如果出現(xiàn)異常
$ systemctl start docker A dependency job for docker.service failed. See 'journalctl -xe' for details.
查看報(bào)錯(cuò)信息
Mar 03 11:19:47 master1 systemd[1]: Starting containerd container runtime... -- Subject: Unit containerd.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit containerd.service has begun starting up. Mar 03 11:19:47 master1 systemd[104332]: Failed at step LIMITS spawning /sbin/modprobe: Operation not permitted -- Subject: Process /sbin/modprobe could not be executed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- The process /sbin/modprobe could not be executed and failed. -- -- The error number returned by this process is 1. Mar 03 11:19:47 master1 systemd[104335]: Failed at step LIMITS spawning /usr/bin/containerd: Operation not permitted -- Subject: Process /usr/bin/containerd could not be executed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- The process /usr/bin/containerd could not be executed and failed.
解決方案:
查看open files的值,修改/usr/lib/systemd/system/docker.service和/usr/lib/systemd/system/containerd.service(如下圖),啟動(dòng)即可
$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 23056 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 654350 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 23056 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
$ vim /usr/lib/systemd/system/docker.service ... # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=654349 # 注意這里 LimitNPROC=23057 LimitCORE=infinity # Comment TasksMax if your systemd version does not supports it. ...
$ vim /usr/lib/systemd/system/containerd.service ... # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=654349 # 注意這里 LimitNPROC=23057 LimitCORE=infinity # Comment TasksMax if your systemd version does not support it. ...
查看版本
docker version
8、修改數(shù)據(jù)目錄
方式一
# 將下面的json拷貝紙docker啟動(dòng)目錄
$ vim /etc/docker/daemon.json
{
"data-root": "/data/docker"
}方式二
查看docker當(dāng)前信息
$ docker info Client: Context: default Debug Mode: false Plugins: app: Docker App (Docker Inc., v0.9.1-beta3) buildx: Docker Buildx (Docker Inc., v0.8.2-docker) scan: Docker Scan (Docker Inc., v0.17.0) Server: Containers: 40 Running: 15 Paused: 0 Stopped: 25 Images: 91 Server Version: 20.10.17 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: systemd Cgroup Version: 1 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc Default Runtime: runc Init Binary: docker-init containerd version: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1 runc version: v1.1.2-0-ga916309f init version: de40ad0 Security Options: seccomp Profile: default Kernel Version: 3.10.0-1160.71.1.el7.x86_64 Operating System: CentOS Linux 7 (Core) OSType: linux Architecture: x86_64 CPUs: 16 Total Memory: 15.5GiB Name: master1 ID: 3WQC:QCTB:I5D4:2ZWL:VBSH:6GWQ:4W2G:BTK2:XSEY:PDXG:BQAI:ZB6D Docker Root Dir: /data/docker # 這里是數(shù)據(jù)目錄的位置,我因?yàn)橐呀?jīng)更改過(guò),原位置為/var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Registry Mirrors: https://x6u7jv2l.mirror.aliyuncs.com/ Live Restore Enabled: false
9、停止docker服務(wù)
$ systemctl stop docker
10、修改docker服務(wù)啟動(dòng)文件
vi /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph=/data/docker
11、復(fù)制原有數(shù)據(jù),若無(wú)數(shù)據(jù),可跳過(guò)此步驟
$ cp -rf /var/lib/docker/* /data/docker/
12、重新加載配置文件并啟動(dòng)
$ systemctl daemon-reload $ systemctl start docker
最后執(zhí)行步驟8,查看是否已啟動(dòng)
到此這篇關(guān)于docker 安裝、升級(jí)、修改數(shù)據(jù)目錄的操作方法的文章就介紹到這了,更多相關(guān)docker 修改數(shù)據(jù)目錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過(guò)Docker為本地DeepSeek-r1部署WebUI界面的完整教程
本文詳細(xì)介紹了如何通過(guò)Docker安裝并配置OpenWebUI,一個(gè)功能豐富的自托管Web用戶界面,用于與大型語(yǔ)言模型交互,文章步驟包括安裝Docker、配置WSL2、使用dockerrun命令部署OpenWebUI,并提供了詳細(xì)的命令解釋和部署結(jié)果,需要的朋友可以參考下2025-02-02
聊聊kubernetes1.20用containerd替換docker(shim)的問(wèn)題
這篇文章主要介紹了kubernetes1.20用containerd替換docker(shim),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
Docker遇到502 Bad Gateway問(wèn)題的排查與解決方法
本文詳細(xì)描述了線上部署內(nèi)容服務(wù)時(shí)遇到的502 Bad Gateway問(wèn)題,表面現(xiàn)象指向Nginx和Docker網(wǎng)絡(luò),但最終發(fā)現(xiàn)根因在于應(yīng)用代碼中使用不可重入鎖導(dǎo)致的死鎖,通過(guò)調(diào)整鎖的類型并進(jìn)行部署,問(wèn)題得以解決,需要的朋友可以參考下2026-04-04
解決Docker network Create加--subnet后遇到問(wèn)題
這篇文章主要介紹了解決Docker network Create加--subnet后遇到問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
docker設(shè)置代理通過(guò)代理服務(wù)器拉取鏡像方式
這篇文章主要介紹了docker設(shè)置代理通過(guò)代理服務(wù)器拉取鏡像方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境的詳細(xì)教程
K8S全稱是Kubernetes,是一個(gè)全新的基于容器技術(shù)的分布式架構(gòu)領(lǐng)先方案,這篇文章主要介紹了基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境(環(huán)境搭建篇),對(duì)docker K8S持續(xù)集成交付環(huán)境相關(guān)知識(shí)感興趣的朋友一起看看吧2021-05-05
Docker部署及使用壓測(cè)神器sysbench的方法
sysbench 是一個(gè)開(kāi)源跨平臺(tái)的多線程性能測(cè)試工具,這篇文章主要介紹了Docker部署及使用壓測(cè)神器sysbench的相關(guān)知識(shí),需要的朋友可以參考下2022-08-08
使用Docker方式啟動(dòng)tomcat,訪問(wèn)首頁(yè)出現(xiàn)404的解決方案
這篇文章主要介紹了使用Docker方式啟動(dòng)tomcat,訪問(wèn)首頁(yè)出現(xiàn)404的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03

