内网主机离线安装docker

预备知识

  • SSH命令
    ssh root@192.168.1.5
  • 向主机发送文件
    scp test.txt USER@192.168.1.5:/home/USER/test.txt

下载docker离线安装包

docker for linux下载链接

安装及配置

解压

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值