CentOS7 离线安装 Docker
对于一些安全性要求比较高的项目,服务器一般都是内网,无法联网。如果直接在物理机或虚拟机上部署项目,一方面比较麻烦,另外风险也比较高,如果出现了一些问题,最坏的情况就是重置操作系统,然后重新部署,耗时费力。还是采用 docker 部署会比较方便,我们可以在外部可以联网的机器上把项目部署好,然后把所有 docker 镜像导出来,最后导入到正式的内网服务器上,轻松方便的部署好项目
在实际工作中,绝大多数企业都使用 CentOS7 系统,即使官网马上要停止维护了,国内和国外也已经提供了很多替代品,如国内阿里的 Alibaba Cloud Linux、国外的 Rocky Linux 等等,使用命令和相关体验跟 CentOS7 基本一致,因此本篇博客就以 CentOS7 为例介绍如何离线安装 docker
离线安装 Docker
首先我们需要确定 CentOS7 的内核版本号,因为 docker 安装要求 Linux 内核版本在 3.10 及以上
# 查看内核版本号【我的 CentOS7 内核版本号为:3.10.0-1160.108.1.el7.x86_64】
uname -r
# 查看系统名称【我系统名称为:CentOS Linux release 7.9.2009 (Core)】
cat /etc/redhat-release
从官网下载离线安装包,下载地址为:https://download.docker.com/linux/static/stable/x86_64
根据自己的实际情况,选择合适的版本,我这里下载了最新的版本,文件名为:docker-25.0.3.tgz
然后将压缩包上传到 CentOS 服务器上。(注意:不要在 Windows 操作系统上解压缩后再上传)
上传完成后,运行命令解压缩文件:tar -zxvf ./docker-25.0.3.tgz
,解压完成后,当前目录多了一个 docker 目录
运行命令 cp docker/* /usr/bin/
将 docker 目录的所有文件拷贝到 /usr/bin
目录中
然后在 /etc/systemd/system
目录下创建一个 docker.service 文件,编写如下内容:
需要注意:文件名就是服务名,比如这里文件名是 docker.service,服务名就是 docker,服务名可以省略 .service 后缀
[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 --selinux-enabled=false --insecure-registry=127.0.0.1 --default-ulimit nofile=65536:65536
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
然后运行如下命令:
# 重新加载 daemon 服务
systemctl daemon-reload
# 启动 docker 服务
systemctl start docker
# 将 docker 服务设置为开机自动启动
systemctl enable docker
# 查看 docker 服务的运行状态
systemctl status docker
# 查看 docker 版本号
docker -v
docker 安装好之后,剩下就是要配置 docker 下载镜像的地址,以及安装 docker-compose 文件
可以参考我之前的博客进行操作:https://www.cnblogs.com/studyjobs/p/17460227.html