一、引言
为了实现离线安装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