docker离线升级
一、删除老版本
停止docker服务
systemctl stop docker
查看当前版本
rpm -qa | grep docker
卸载软件包
yum erase docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
删除相关配置文件
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /lib/systemd -name '*docker*' -exec rm -f {} \;
rm -rf /var/lib/docker #删除以前已有的镜像和容器,非必要
rm -rf /var/run/docker
二、下载和配置
-
docker版本:docker-17.12.0-ce.tgz
-
下载地址:Index of linux/static/stable/,进入x86_64目录,选择对应的版本下载。
1.上传到服务器目录下,解压文件。
tar -xvf docker-17.12.0-ce.tgz
2.将解压出来的docker文件内容移动到 /usr/bin/ 目录下,该命令使用sudo进行,否则可能会出现权限不足的问题。
sudo cp docker/* /usr/bin/
3.将docker注册为service服务,建议在外部写好该文件再上传到指定目录下,比较方便,或者使用vim命令新建该文件。
vim /etc/systemd/system/docker.service
4.docker.service文件编码内容如下。
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# 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=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
5.添加文件权限并启动docker 。
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
systemctl start docker #启动Docker
systemctl enable docker.service #设置开机自启
6.查询相关信息。
systemctl status docker #查看Docker状态
docker -v #查看Docker版本