一、引言

为了实现离线安装docker-18.03.1-ce这个想法,我遍寻网络,什么 RPM 搜索大法啦,yum local install 方法啦,都是复杂到不行。


二、终极解决

直接上网址:
Install Docker CE from binaries (官方文档:通过二进制包安装 docker 社区版)

 

https://download.docker.com/linux/static/stable/x86_64/

 

简单介绍下安装步骤:

1. 通过 FileZilla 等文件传输工具将 docker-18.03.1-ce.tar 放到用户目录下,并移动到该目录执行下述命令解压二进制包

$ tar xzvf docker-18.03.1-ce.tar

2. 将解压出来的 docker 文件所有内容移动到 /usr/bin/ 目录下

$ sudo cp docker/* /usr/bin/

3. 开启 docker 守护进程(这个与常规安装方式不一样)

$ sudo dockerd &

4. 现在你可以尝试着打印下版本号,试着看看 images,看看 info,看看容器了

    $ sudo docker images
     
    $ sudo docker ps -a
     
    $ sudo docker --version
     
    $ sudo docker info

都没有问题,则表示安装成功:)

至此,完美撒花!!!

 

三、docker注册为service

将以下文件放入 /usr/lib/systemd/system/docker.service 中

安装完毕后
systemctl daemon-reload
systemctl start docker     #成功即可

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

如果出现以下问题:

Error starting daemon: error while opening volume store metadata database: timeout

运行以下命令,

ps axf | grep docker | grep -v grep | awk '{print "kill -9 " $1}' | sudo sh
sudo systemctl start docker

安装过程请看https://blog.csdn.net/lituxiu/article/details/100515996
参照github上的大神链接 https://github.com/moby/moby/blob/master/contrib/init/systemd/docker.service

Logo

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

更多推荐