Docker离线安装

安装前准备

1.下载离线安装包

前往docker官网进行下载,官方镜像地址
本教程以docker-18.03.1-ce.tgz版本为例,请根据实际的服务器系统架构进行调整;

2.文件上传至服务器

通过scp命令或者SFTP工具将离线安装包上传至服务器的目录下(本教程以/home/app为例)

#以下命令为scp文件上传的方式,使用sftp工具可跳过此命令,其中/path/to/your/换成当前机器保存的docker安装包的路径,xx.xx.xx.xx换成实际上传的服务器ip,请提前在该服务器创建对应的文件夹.
scp /path/to/your/docker-18.03.1-ce.tgz root@xx.xx.xx.xx:/home/app

安装与配置

1.解压安装包并且将安装包内的文件拷贝至/usr/bin目录下,注意是 /usr/bin目录而不是/usr/local/bin

如果放到/usr/local/bin下面的话可以尝试将Docker的每一个安装文件都做一个软链接 链接到/usr/bin目录下,软连接可以通过ln命令进行创建,具体怎么进行创建不在此赘述

#执行以下命令解压docker安装包并且将Docker安装文件转移至usr/bin目录下完成安装
cd /home/app && tar -zxvf docker-18.03.1-ce.tgz && cp docker/* /usr/bin

2.配置服务文件,此步骤是向linux系统注册Docker服务,以至于后面可以同联网安装版本一样通过systemctl命令来管理Docker服务,此步骤需要在root用户下执行

#1.使用vi(vim或者其他编辑器)创建Docker服务文件
vi /etc/systemd/system/docker.service
#2.按i进入编辑模式,将以下内容添加至文件中:
-----------------------------------分割线------------------------------------
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=onfailure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

3.给service文件授权

chmod +x /etc/systemd/system/docker.service

4.重新加载linux服务列表

systemctl daemon-reload

服务启动以及验证

1.执行以下命令启动服务

systemctl start docker

如果没有异常输出即为启动成功;

2.执行以下命令,验证Docker服务是否安装成功

docker --version
#输出结果如下即可
Docker version 18.06.1-ce, build e68fc7a