马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
内网机器、或者根本连不上 Docker 官网的主机,没法直接装 Docker。本文给一条离线安装路线:在能上网的机器上按目标系统版本下载 deb 包,拷到目标机用 dpkg 装齐,再补一份镜像源配置,让容器镜像也能走国内加速拉下来。
为什么需要离线装
典型场景是政企内网、无外网出口的虚拟机,以及 Docker Hub 不可达的环境。解决办法不是放弃容器化,而是把安装介质提前准备好、离线搬运过去。
确认目标系统版本
在目标机(或同版本的源机器)上先看清发行版代号,后面拼下载路径要用它:
lsb_release -a
以 Ubuntu 22.04.4 LTS 为例,输出里关键几行是:
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
Codename 就是后面拼路径要用的 jammy。不同大版本代号不同(20.04 是 focal,24.04 是 noble),路径别照搬。
下载离线包
在能联网的机器上到官方 pool 目录按代号取包:
https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/
把 containerd.io、docker-ce、docker-ce-cli 这几个 deb 下全。注意按自己的 CPU 架构选,arm64 机器不要下 amd64 的包。
把包搬到目标机
目标机先补几样传输和编辑工具:
apt-get install openssh-server -y
apt-get install vim -y
apt-get install lrzsz -y
用 SSH 工具连上去,拿到管理员权限后建目录、传文件:
sudo su
mkdir /docker
cd /docker
# 把 deb 包放到 /docker 目录
安装
目录下所有 deb 一次性装齐,包之间的依赖会自动处理:
dpkg -i *.deb
补镜像源并启动
装完还拉不到镜像,得写 daemon.json 指定镜像加速器:
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://ox288s4f.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://ccr.ccs.tencentyun.com"
]
}
然后重载服务定义、重启 docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
顺手做两件事
- 设开机启动:
sudo systemctl enable docker.service
- 把当前用户补进 docker 组,省去每次敲 sudo:
newgrp docker
容易踩的点
- deb 包架构必须跟目标机一致,装到一半报依赖缺失,基本都是这里出问题。
- 镜像源地址会随时间失效,某个源不通就换一个,不必强求全通。
- daemon.json 是严格 JSON,末尾多一个逗号 docker 就起不来。
qidao123.com企服评测-应用市场 编辑提示 |