# Docker 离线安装
> 最近工作中遇到需要在内网服务器部署环境的情况,离线安装 mysql、nginx 等服务的过程中遇到各种依赖问题,因此想到通过离线安装 docker,利用 docker 导入镜像来部署环境的方式,本文将介绍离线安装 docker 的方式。
## 一、先决条件
* 64 位系统; * Linux 内核 3.10 或更高版本; * iptables 1.4 或更高版本; * git 1.7 或更高版本; * ps 可执行文件,通常为 procps 或相似的包; * [XZ Utils](https://tukaani.org/xz/) 4.9 或更高版本;
## 二、安装二进制静态文件
1. 访问 [https://download.docker.com/linux/static/stable/](https://download.docker.com/linux/static/stable/),选择您对应的硬件平台,下载与您想安装的 Docker Engine 版本相关的 .tgz 文件;
2. 通过 tar 命令解压下载的二进制静态文件,其中包含 docker 和 dockerd 二进制执行文件;
```shell
$ tar -zxvf /path/to/
3. 将二进制执行文件移动到系统可执行文件目录下,例如:`/usr/local/bin`;
```shell $ sudo cp docker/* /usr/local/bin/ ```
## 三、封装 Systemd 服务
```shell # 1. 创建服务文件,添加以下内容 $ sudo vim /etc/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target Wants=network-online.target
[Service] Type=notify ExecStart=/usr/local/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
# 2. 重载 systemd 配置 $ sudo systemctl daemon-reload
# 3. 启动 docker 服务 $ sudo systemctl start docker
# 4. 查看服务状态 $ sudo systemctl status docker ```
## 四、验证安装结果
```shell $ sudo docker run hello-world ```
**参考链接:**
* [Install Docker Engine from binaries | Docker Documentation](https://docs.docker.com/engine/install/binaries/#install-daemon-and-client-binaries-on-linux)
《Docker 离线安装》留言数:0