Docker 离线安装
参考
https://docs.docker.com/engine/install/binaries/
安装
-
下载 Docker 二进制文件
你可以从以下两个链接之一下载 Docker 二进制文件:- 阿里云镜像:https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/
- 官方镜像:https://download.docker.com/linux/static/stable/x86_64/
选择合适的 Docker 版本进行下载。以
docker-27.5.1.tgz为例: docker-27.5.1.tgz -
解压文件
下载完成后,可以使用以下命令解压缩 Docker 包:tar -zxvf docker-27.5.1.tgz -
复制到
/usr/bin目录
解压后,将 Docker 二进制文件复制到/usr/bin目录,以便全系统使用:sudo cp docker/* /usr/bin/ -
启动 Docker 守护进程
使用以下命令启动 Docker 守护进程:sudo dockerd &如果不希望日志输出到当前的命令行终端,所以把日志写到某个文件
mkdir -p /app/docker dockerd &> /app/docker/dockerd.log & -
验证 Docker 安装是否成功
运行以下命令检查 Docker 版本:docker -v
卸载
-
查找 Docker 进程
使用以下命令查找正在运行的 Docker 进程:ps -ef | grep dockerd -
停止 Docker 进程
使用kill命令终止 Docker 进程:kill -9 PID其中,
PID是 Docker 守护进程的进程 ID,使用ps命令找到。 -
删除 Docker 文件
删除与 Docker 相关的文件和目录:sudo rm -rf /var/run/docker sudo rm -rf /var/run/docker.sock sudo rm -rf /var/run/docker.pid sudo rm -rf /etc/systemd/system/docker.service sudo rm -rf /etc/docker/daemon.json sudo rm -rf ~/.docker/ -
删除 Docker 二进制文件
删除/usr/bin目录中的 Docker 二进制文件:sudo rm -f \ /usr/bin/containerd \ /usr/bin/containerd-shim-runc-v2 \ /usr/bin/ctr \ /usr/bin/docker \ /usr/bin/dockerd \ /usr/bin/docker-init \ /usr/bin/docker-proxy \ /usr/bin/runc
目录结构说明
执行 tree 命令列出 Docker 解压后的目录结构时,可以看到以下文件:
[root@localhost docker]# tree
.
├── containerd # Containerd 服务进程
├── containerd-shim-runc-v2 # Containerd 用于管理容器的子进程
├── ctr # Containerd 控制命令行工具
├── docker # Docker 二进制执行文件
├── dockerd # Docker 守护进程
├── docker-init # Docker 初始化进程
├── docker-proxy # Docker 网络代理
└── runc # 容器运行时
这些文件是 Docker 引擎和相关组件的二进制文件,在安装和运行 Docker 时会用到。
通过这种方式,你可以安装、配置以及卸载 Docker。
开机启动
添加文件
vi /usr/lib/systemd/system/docker.service
内容
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd --host=unix:///var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
Restart=always
RestartSec=3
StartLimitAbortSec=30s
[Install]
WantedBy=multi-user.target
上面的 StartLimitAbortSec=30s 这一句,老版本 systemd(如 CentOS7,systemd 219)不支持,会报错
Unknown lvalue 'StartLimitAbortSec'
命令
# 重新加载 systemd 配置文件
systemctl daemon-reload
# 启用 Docker 开机启动
systemctl enable docker
# 启动 Docker 服务
systemctl start docker
# 检查 Docker 服务状态
systemctl status docker

浙公网安备 33010602011771号