预备知识
- SSH命令
ssh root@192.168.1.5
- 向主机发送文件
scp test.txt USER@192.168.1.5:/home/USER/test.txt
下载docker离线安装包
安装及配置
解压
tar -zxvf docker-20.10.7.tgz
mv docker/* /usr/bin
配置docker.service
创建docker.service文件
sudo vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
Requires=docker.socket -H tcp://0.0.0.0:2375
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500
[Install]
WantedBy=multi-user.target
配置docker.socket
sudo vim /usr/lib/systemd/system/docker.socket
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
配置docker有权用户
#添加docker组
groupadd docker
#把要管理的用户添加到组里面就行,root用户也需要添加到该组
usermod -a -G docker user1
配置镜像与私服仓库
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://hub-mirror.c.163.com/"],
"insecure-registries": ["registry地址"]
}
为docker.service增加执行权限
chmod +x /usr/lib/systemd/system/docker.service
启动docker并设置开机启动
systemctl daemon-reload
systemctl start docker
systemctl enable docker
错误
1. docker启动时报错Failed to listen on Docker Socket for the API.
可能的原因之一是未将用户加入到docker用户组。
解决方法1
添加docker用户组(groupadd docker,如果/etc/group用统一配置管理的话记得在源group文件中添加docker组信息)
解决方法2
修改/usr/lib/systemd/system/docker.socket文件:
[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker 这里改成:SocketGroup=root 或其他存在的组修改完毕后执行以下命令:
systemctl enable docker.service
systemctl enable docker.socket执行命令systemctl list-unit-files | grep docker可见
docker.service enabled
docker.socket enabled
2.docker启动时A dependency job for docker.service failed. See ‘journalctl -xe’ for details.
执行命令journalctl -xe
查看错误信息
解决方法
系统添加一个docker组
groupadd docker
如果groupadd报错“groupadd:无法打开 /etc/group”,可增加权限
chattr -i /etc/group
groupadd docker
systemctl enable docker && systemctl start docker