目录

企业纯内网二进制完美部署Docker(20.10.7版本)

Docker下载

上传解压

systemd管理docker

普通用户管理Docker

自定义网段

更改存储路径

如果有数据

无数据

启动并设置开机启动

docker命令补全方法

1.复制文件

2.安装bash-completion 

 3.刷新生效

4、测试


企业纯内网二进制完美部署Docker(20.10.7版本)


近期由于公司业务需求,需要使用到Docker。

平常有网环境,直接yum可以安装完成。但是由于服务器在纯内网环境,无法访问公网,所有无法在线直接安装Docker,需要另想方法完成部署安装。

(1)找一台有网机器,使用yum(yumdownloader)把docker包和依赖下载下来,上传在安装 

(2)二进制安装Docker(比较复杂,但是能更好理解和管理Docker,我选择后者)

Docker下载

Docker版本:20.10.7

Docker版本下载地址:https://download.docker.com/linux/static/stable/x86_64/

上传解压

tar zxvf docker-20.10.7.tgz
mv docker/* /usr/bin

systemd管理docker

cat > /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
Requires=docker.socket 
[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
EOF
cat > /usr/lib/systemd/system/docker.socket << EOF
[Unit]
Description=Docker Socket for the API

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target


EOF

普通用户管理Docker

groupadd  docker 
#添加docker组,二进制不会自动添加的,yum会
usermod -a -G docker user1
#把要管理的用户添加到组里面就行

这样在docker组的用户,也有权限管理docker,这边是因为在docker.sock定义了以docker组启动

自定义网段

mkdir /etc/docker
cat > /etc/docker/daemon.json << EOF
{
    "bip":"10.10.10.1/24"

}
EOF

纯内网Docker-hub无法使用,这里就定义网段,启用初始就会直接定义网段

更改存储路径

docker的默认路径是/var/lib/docker

但是有时间这个空间很小,我们需要把目录迁移到足够大的磁盘下

如果有数据

systemctl stop docker
mkdir /data/service/docker -p
mv /var/lib/docker/* /data/service/docker/
#迁移数据
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd  --graph /data/service/docker

无数据

mkdir /data/service/docker -p

vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd  --graph /data/service/docker

启动并设置开机启动

systemctl daemon-reload
systemctl start docker
systemctl enable docker

docker命令补全方法

1.复制文件


通过yum安装相同版本的docker。将 /usr/share/bash-completion/completions/docker 文件拷贝到二进制安装的docker服务器上的 /usr/share/bash-completion/completions/ 目录下

2.安装bash-completion 

yum install -y bash-completion

 3.刷新生效

source /usr/share/bash-completion/completions/docker
source /usr/share/bash-completion/bash_completion

4、测试

[root@localhost ~]# docker 
attach     context    exec       import     logout     port       rm         service    system     version    
build      cp         export     info       logs       ps         rmi        stack      tag        volume     
builder    create     help       inspect    network    pull       run        start      top        wait       
commit     diff       history    kill       node       push       save       stats      trust      
config     engine     image      load       pause      rename     search     stop       unpause    
container  events     images     login      plugin     restart    secret     swarm      update

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐