一、安装
1.1、下载包
在https://download.docker.com/linux/static/stable/x86_64界面下载一个docker tar包
例如docker-19.03.4.tgz
1.2、解压包
tar -xzvf docker-19.03.4.tgz
1.3、把解压出来的复制到/user/bin目录下
sudo cp docker/* /usr/bin/
1.4、使用守护进程方式启动
sudo dockerd &
1.5、现在你可以尝试着打印下版本号,试着看看 images,看看 info,看看容器了
sudo docker -v
sudo docker images
sudo docker ps -a
sudo docker --version
sudo docker info
二、把docker注册为service服务
2.1、执行创建docker.service命令
sudo vi /usr/lib/systemd/system/docker.service
2.2、输入以下内容
[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
2.3、测试是否成功
sudo systemctl enable docker.service 设置为开机启动
sudo systemctl start docker.service 启动
sudo systemctl stop docker.service 停止
sudo systemctl restart docker.service 重启
或者
sudo service docker restart 重启
sudo service docker stop 停止
sudo service docker start 启动
三、解决sudo docker问题
3.1、创建docker组
sudo groupadd docker
3.2、将当前用户加入docker组
sudo gpasswd -a ${USER} docker
3.3、重启服务
sudo service docker restart
3.4、刷新docker成员
newgrp - docker
3.5、大功告成
可以直接使用docker images二不需要增加sudo了
四、删除
sudo rm -rf /usr/bin/containerd
sudo rm -rf /usr/bin/containerd-shim
sudo rm -rf /usr/bin/docker/ctr
sudo rm -rf /usr/bin/docker-init
sudo rm -rf /usr/bin/docker
sudo rm -rf /usr/bin/docker-proxy
sudo rm -rf /usr/bin/dockerd
sudo rm -rf /usr/bin/runc
sudo rm -rf /var/lib/docker
sudo rm -rf /usr/bin/docker-runc
sudo rm -rf /usr/bin/docker-containerd
sudo rm -rf /usr/bin/docker-containerd-ctr
sudo rm -rf /usr/bin/docker-containerd-shim