docker安装、升级、以及sudo dockerd --debug查看启动失败的问题

1、docker安装包tar下载地址

Index of linux/static/stable/x86_64/

2、下载tgz文件并解压

tar -zxvf docker-24.0.8.tgz

解压后docker文件夹下位docker相关文件

3、将老版本docker相关文件,备份

将 /usr/bin/docker下docker相关的文件,mv到备份目录

4、将新版本docker二进制文件,复制到/usr/bin/目录下

docker version验证版本

5、修改相关配置文件,以及解决docker启动失败的问题

/etc/docker/daemon.json 

{
        "data-root": "/work/docker/yourRootdir",
        "registry-mirrors": [
        "https://dockerproxy.com",
        "https://mirror.baidubce.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn"
        ]
}

升级前的docker18,配置文件中rootdir参数是 graph

升级到docker20后,将graph改为data-root,否则docker启动会报错
 

通过命令查看docker启动的具体异常日志  

sudo dockerd --debug

6. 将docker注册为系统服务

vim /usr/lib/systemd/system/docker.service
 
#####
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd.service time-set.target
Wants=network-online.target containerd.service
 
[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
TimeoutStartSec=0
RestartSec=2
Restart=always
 
# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3
 
# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s
 
# 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
 
# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
TasksMax=infinity
 
# 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
OOMScoreAdjust=-500
 
[Install]
WantedBy=multi-user.target
 
 

启动docker

重启守护进程
systemctl daemon-reload
systemctl start docker
查看docker状态
systemctl status docker
设置开机启动
systemctl enable docker

参考链接

离线安装Docker和DockerCompose的详细教程-优快云博客

Docker -- tar包安装Docker_docker安装tar.gz-优快云博客

https://stackoverflow.com/questions/55906503/docker-how-to-fix-job-for-docker-service-failed-because-the-control-process-ex

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值