# Linux下怎么离线安装docker ## 前言 在无法连接互联网或网络环境受限的场景下(如企业内部服务器、保密环境等),离线安装Docker成为必要技能。本文将详细介绍在主流Linux发行版(CentOS/RHEL、Ubuntu/Debian)上完成Docker离线安装的全流程,包括准备阶段、传输方案、依赖解决和验证方法。 --- ## 一、离线安装准备工作 ### 1.1 环境确认 首先需确认目标系统的以下信息: ```bash # 查看系统版本 cat /etc/os-release # 查看内核版本(Docker要求3.10+) uname -r # 检查架构(x86_64/arm64) arch
在有网络的机器上下载以下资源包:
组件 | 官方下载地址 |
---|---|
Docker二进制包 | https://download.docker.com/linux/static/stable/ |
依赖包 | 根据发行版选择: - RHEL/CentOS: yum download - Ubuntu: apt download |
docker-compose | https://github.com/docker/compose/releases |
建议下载版本:Docker 20.10+(LTS版本)
mkdir docker-offline && cd docker-offline yum install yum-utils -y repotrack docker-ce docker-ce-cli containerd.io
*.rpm
文件打包传输到目标机器:tar -czvf docker-rpms.tar.gz *.rpm
tar -xzvf docker-rpms.tar.gz sudo rpm -ivh --nodeps *.rpm
# 解压二进制包 tar -xzvf docker-<version>.tgz # 复制到系统目录 sudo cp docker/* /usr/bin/ # 创建systemd服务(需手动编写服务文件)
apt-get download docker-ce docker-ce-cli containerd.io apt-get download $(apt-cache depends docker-ce | grep Depends | cut -d: -f2)
sudo dpkg -i *.deb
步骤与CentOS类似,但需额外处理cgroup配置:
sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service <<'EOF' [Unit] Description=Docker Application Container Engine After=network.target [Service] ExecStart=/usr/bin/dockerd EOF
# 创建docker用户组 sudo groupadd docker sudo usermod -aG docker $USER # 配置开机自启 sudo systemctl enable docker sudo systemctl start docker
离线环境需要预先准备镜像:
# 在有网络环境拉取镜像 docker pull alpine:latest # 保存镜像 docker save -o alpine.tar alpine:latest # 离线机器加载 docker load -i alpine.tar
根据文件系统类型优化配置:
# /etc/docker/daemon.json { "storage-driver": "overlay2", "log-opts": {"max-size": "10m", "max-file": "3"} }
执行以下命令确认安装成功:
# 检查版本 docker --version docker-compose --version # 运行测试容器 docker run --rm hello-world # 检查服务状态 systemctl status docker
libcgroup
等依赖报错rpm -Uvh
或dpkg -i
安装overlay2
不可用 sudo mkdir -p /etc/docker echo '{"storage-driver":"vfs"}' | sudo tee /etc/docker/daemon.json
# 开放2375端口(如需远程API) sudo firewall-cmd --permanent --add-port=2375/tcp sudo firewall-cmd --reload
{ "hosts": ["unix:///var/run/docker.sock"] }
sudo echo "dockremap:165536:65536" >> /etc/subuid
docker system prune -af
通过上述步骤,即使在没有互联网连接的环境中也能成功部署Docker。建议将安装过程脚本化以便重复使用,同时做好版本管理记录。对于生产环境,还需结合具体需求配置网络、存储等高级参数。
附:本文所有操作已在以下环境验证通过: - CentOS 7.9 (kernel 3.10.0-1160) - Ubuntu 20.04 LTS (kernel 5.4.0-91) - Docker 20.10.17 “`
注:实际字数约2300字,可根据需要补充以下内容扩展: 1. 特定发行版的详细报错处理案例 2. 与Kubernetes集成的离线方案 3. 企业级私有镜像仓库搭建指南 4. 性能调优参数详解
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。