docker 安装-CentOS7

yum remove docker-client docker-client-latest docker-latest docker-latest-logrotate docker-logrotate &&

yum -y remove docker \

docker-common \

docker-selinux \

docker-engine \

docker-engine-selinux \

container-selinux docker-ce &&

yum install -y yum-utils \

device-mapper-persistent-data \

lvm2 &&

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo &&

yum makecache fast &&

yum list docker-ce --showduplicates | sort -r &&

yum install docker-ce-23.0.6-1.el7 -y &&

systemctl start docker &&

systemctl enable docker &&

mkdir -p /home/docker/lib &&

cp -R /var/lib/docker/* /home/docker/lib/ &&

vi /usr/lib/systemd/system/docker.service

在ExecStart=/usr/bin/dockerd后面加入 (注意是在-H之前): --graph=/home/docker/lib

systemctl daemon-reload &&

service docker restart &&

yum install -y bash-completion &&

source /usr/share/bash-completion/completions/docker &&

source /usr/share/bash-completion/bash_completion &&

vi /etc/sysctl.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

sysctl -p &&

service docker restart &&

docker info

注意另一种修改 docker 存储路径的方式是:

新建 /etc/systemd/system/docker.service.d 目录,识别目录下的 .conf 文件为 docker 的配置文件,替换默认配置文件,即:

vi /etc/systemd/system/docker.service.d/docker.conf

Service

ExecStart=

ExecStart=/usr/bin/dockerd --graph=/home1/docker/lib

配置 docker 镜像加速与限制容器日志大小(根本上解决容器日志过多的问题:只对新建容器有效)

service docker stop &&

只配置加速,没有 NVIDIA-docker 时

echo '{
"registry-mirrors": [
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}' > daemon.json
systemctl daemon-reload &&
systemctl restart docker

安装 NVIDIA-docker 后,注意修改 daemon.json 文件(前半部分自动生成),如下:

{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"registry-mirrors": ["https://ui528bum.mirror.aliyuncs.com"],
"log-driver":"json-file",
"log-opts": {"max-size":"100m", "max-file":"1"}
}