linux 环境下Docker 安装 Docker 离线方式安装一、上传安装包解压安装包;自行上传安装包并解压tar-zxvfdocker-24.0.6.tgz解压后的docker 安装包如下二、将解压之后的docker文件移到 /usr/bin目录下;sudocpdocker/* /usr/bin/三、将docker注册成系统服务;vim/etc/systemd/system/docker.service四、然后在文件中添加以下内容退出并保存。[Unit]DescriptionDocker Application Container EngineDocumentationhttps://docs.docker.comAfternetwork-online.target firewalld.serviceWantsnetwork-online.target[Service]TypenotifyExecStart/usr/bin/dockerdExecReload/bin/kill-sHUP$MAINPIDLimitNOFILEinfinityLimitNPROCinfinityTimeoutStartSec0DelegateyesKillModeprocessRestarton-failureStartLimitBurst3StartLimitInterval60s[Install]WantedBymulti-user.target五、给文件增加可执行权限chmodx /etc/systemd/system/docker.service systemctl daemon-reload六、设置开机自启动systemctlenabledocker.service七、启动dockersystemctl startdockerdockerps// 测试是否安装成功Docker在线安装参考 https://juejin.cn/book/6844733746462064654/section/6844733746545950734#heading-0不同的linux的发型版本在线安装docker的官方密钥和仓库下载地址不同安装之前需要先确认docker的发行版本终端确认发行版本cat /etc/os-release或者lsb_release -cs本测试用例使用Ubuntu 22.04 LTS (Jammy Jellyfish) 进行docker的安装如果之前装过docker需要重新安装可以按照以下步骤重新安装第一步彻底卸载旧的 Docker清理环境# 1. 卸载所有 Docker 相关的软件包 sudo apt-get remove -y docker docker-engine docker.io containerd runc docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 2. 删除 Docker 的数据和配置文件此操作会清除所有镜像、容器、卷和配置 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd # 3. 删除 Docker 的 APT 源列表文件 sudo rm -f /etc/apt/sources.list.d/docker.list⚠️ 警告rm -rf /var/lib/docker 会删除所有本地 Docker 数据镜像、容器、卷等请确保已备份重要数据。Ubuntu 环境下安装$apt-getinstallapt-transport-https ca-certificatescurlsoftware-properties-common $install-m0755-d/etc/apt/keyrings $curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|gpg--dearmor-o/etc/apt/keyrings/docker.gpg $echodeb [archamd64 signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release-cs)stable|sudotee/etc/apt/sources.list.d/docker.list/dev/null $apt-getupdate $apt-getinstalldocker-ce $apt-cachepolicy docker-ce# 查看可用版本$sudosystemctlenabledocker$ systemctl startdocker上述列出的命令是一套完整的在 Ubuntu 系统上安装 Docker Engine 的标准流程。下面我为你逐条解释这些命令的作用并提供一些注意事项和最佳实践建议命令详解安装 Docker 安装过程中所需的依赖包apt-get install apt-transport-https ca-certificates curl software-properties-common作用安装 Docker 安装过程中所需的依赖包。apt-transport-https允许 APT 使用 HTTPS 源。ca-certificates用于处理 SSL/TLS 证书。curl用于下载远程文件如 GPG 密钥。software-properties-common提供 add-apt-repository 命令。添加 Docker 官方的 GPG 公钥install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg下载并添加 Docker 官方的 GPG 公钥用于验证软件包完整性注意apt-key 已被标记为过时deprecated。官方推荐将密钥保存为单独的 .gpg 文件放在 /etc/apt/trusted.gpg.d/ 目录中所以推荐上述命令操作添加 Docker 稳定版官方仓库add-apt-repository deb [archamd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable作用添加 Docker 的官方 APT 软件源。作用添加 Docker 的官方 APT 软件源。$(lsb_release -cs)自动获取当前 Ubuntu 的代号如 jammy、focal 等。⚠️ 注意与上一条类似add-apt-repository 可能不会设置密钥环路径。建议改用直接写入 sources.list.d 的方式。echo \ deb [archamd64 signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable | \ sudo tee /etc/apt/sources.list.d/docker.list /dev/null刷新 APT 包索引添加的 Docker 源sudo apt-get update作用刷新 APT 包索引使系统识别新添加的 Docker 源。安装 Docker Engine Docker Community Edition社区版# 1. 更新 APT 包索引 sudo apt-get update # 2. 安装最新版 Docker CE 及其插件 sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin可选安装特定版本apt-cache policy docker-ce # 查看可用版本 sudo apt-get install docker-ceVERSION docker-ce-cliVERSION containerd.io设置 Docker 开机自启。sudo systemctl enable docker立即启动 Docker 服务sudo systemctl start docker验证安装是否成功sudo docker version sudo docker run hello-world检查 Docker 状态systemctl status docker将当前用户加入 docker 用户组将你的用户加入 docker 用户组关键避免每次使用 sudo可选sudo usermod -aG docker $USER安全提示将用户加入 docker 组等同于赋予该用户 root 权限因为可挂载任意目录、提权等。仅在可信环境中使用如将dev 用户加入docker 用户组sudo usermod -aG docker dev命令解析sudo需要管理员权限才能修改用户组。 usermod用于修改用户账户的命令。-aG-a 表示 append追加即保留用户原有组仅新增指定组-G 指定要加入的附加组supplementary groups。 docker目标用户组Docker 默认创建的 socket 所属组。dev你要操作的用户名而不是 $USER后者代表当前登录用户。重新登录或刷新组权限# 方法一新开终端推荐 # 方法二执行以下命令临时生效 newgrp docker验证普通用户可直接使用 Dockerdocker info # 不再需要 sudo docker run hello-world最佳实践总结2025 年推荐方式# 1. 更新包索引并安装必要的依赖 sudo apt-get update sudo apt-get install -y ca-certificates curl gnupg lsb-core # 2. 添加 GPG 密钥现代方式 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod ar /etc/apt/keyrings/docker.gpg # 3. 添加源 echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release echo $VERSION_CODENAME) stable | \ sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 4. 更新并安装 sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 5. 启动服务 sudo systemctl enable docker sudo systemctl start docker # 6. 验证 docker version docker run --rm hello-worldUbuntu 22.04 (Jammy) Docker 的完整、标准化、经过验证的步骤好的以下是针对 Ubuntu 22.04 (Jammy) 系统重新安装 Docker 的完整、标准化、经过验证的步骤。# 1. 卸载所有 Docker 相关的软件包 sudo apt-get remove -y docker docker-engine docker.io containerd runc docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 2. 删除 Docker 的数据和配置文件此操作会清除所有镜像、容器、卷和配置 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd # 3. 删除 Docker 的 APT 源列表文件 sudo rm -f /etc/apt/sources.list.d/docker.list⚠️ 警告rm -rf /var/lib/docker 会删除所有本地 Docker 数据镜像、容器、卷等请确保已备份重要数据。✅ 第二步安装依赖并配置 Docker 官方仓库# 1. 更新包索引并安装必要的依赖 sudo apt-get update sudo apt-get install -y ca-certificates curl gnupg # 2. 添加 Docker 的官方 GPG 密钥 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod ar /etc/apt/keyrings/docker.gpg# 3. 设置 Docker 的稳定版仓库适用于 x86_64/amd64 echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release echo $VERSION_CODENAME) stable | \ sudo tee /etc/apt/sources.list.d/docker.list /dev/null✅ 第三步安装 Docker Engine# 1. 更新 APT 包索引 sudo apt-get update # 2. 安装最新版 Docker CE 及其插件 sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin✅ 第四步验证安装# 1. 检查 Docker 服务状态 sudo systemctl status docker --no-pager # 2. 查看 Docker 版本 sudo docker --version # 3. 运行测试容器 sudo docker run hello-world✅ 第五步可选配置当前用户免 sudo 使用 Docker# 将当前用户添加到 docker 组 sudo usermod -aG docker $USER # 重新登录或运行以下命令使组权限生效 newgrp docker✅ 验证最终状态# 查看 Docker 详细信息 docker info # 查看插件版本 docker compose version总结你现在已经在 Ubuntu 22.04 上成功重新安装了官方 Docker Engine。关键点使用了正确的仓库https://download.docker.com/linux/ubuntu使用了正确的代号jammy安装了完整的现代 Docker 套件含 docker-buildx-plugin 和 docker-compose-pluginDocker 镜像加速器网易云、腾讯云、阿里云、USTC中科大 科大镜像https://docker.mirrors.ustc.edu.cn/ 网易https://hub-mirror.c.163.com/ 阿里云https://你的ID.mirror.aliyuncs.com 七牛云加速器https://reg-mirror.qiniu.com通过修改daemon配置文件/etc/docker/daemon.json来使用加速器sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://cwd3by99.mirror.aliyuncs.com] } EOF sudo systemctl daemon-reload sudo systemctl restart docker常见问题登录镜像仓库登录不上报错如下Get “https://xxxxx/v2/”: net/http: request canceled while waiting forconnection (Client.Timeout exceeded while awaiting headers)表明 Docker 守护进程在尝试访问某个镜像仓库时超时具体是https://xxxxx/v2/错误原因分析网络不通或防火墙限制你的机器无法访问 www-docker.pkg.devops.avic-digital.com可能被防火墙、代理、DNS 或公司内网策略阻止。检查是否需要使用 HTTP/HTTPS 代理 才能出网。DNS 解析失败域名 www-docker.pkg.devops.avic-digital.com 无法解析为 IP 地址。使用 nslookup 或 dig 检查。目标服务不可达或宕机私有 registry 服务可能暂时不可用。联系 DevOps 团队确认服务状态。HTTPS 证书问题中间人代理如果公司使用透明代理进行 HTTPS 拦截Docker 可能因证书不信任而失败。需要将企业根证书添加到 Docker 的信任链中。Docker 配置了错误的镜像仓库地址可能你在 ~/.docker/config.json 或命令行中指定了这个私有仓库但实际不需要。超时时间过短少见默认请求头等待时间约 30 秒。若网络极慢或服务器响应慢可能超时。排查与解决步骤✅ 1. 检查域名是否能解析bash深色版本nslookup xxxxxxxxxxxxxxxxxx或dig xxxxxxxxxxxxxxxxxxxxxxxx 如果无返回结果 → DNS 问题。✅ 2. 测试网络连通性bash深色版本ping www-docker.pkg.devops.avic-digital.com或curl -v https://www-docker.pkg.devops.avic-digital.com/v2/如果 curl 卡住或超时 → 网络不通或被拦截。如果返回 401 Unauthorized 或 404 → 至少说明能通服务在运行。如果提示 SSL certificate problem → 证书问题。✅ 3. 检查是否需要代理如果你在公司内网很可能需要设置代理才能访问外部服务。临时测试通过 curl 设置代理bash深色版本curl -x http://proxy.company.com:8080 -v https://www-docker.pkg.devops.avic-digital.com/v2/如果这样能通 → 你需要为 Docker 配置代理。为 Docker daemon 配置代理Ubuntu systemd创建配置目录bashsudo mkdir -p /etc/systemd/system/docker.service.d创建代理配置文件bash深色版本sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf EOF [Service] EnvironmentHTTP_PROXYhttp://proxy.company.com:8080 EnvironmentHTTPS_PROXYhttp://proxy.company.com:8080 EnvironmentNO_PROXYlocalhost,127.0.0.1,.company.com EOF⚠️ 替换 http://proxy.company.com:8080 为你们公司的实际代理地址。重启 Dockerbash深色版本sudo systemctl daemon-reload sudo systemctl restart docker✅ 4. 检查 Docker 是否被配置了镜像仓库mirror/registry-mirror查看是否有错误配置bashcat /etc/docker/daemon.json检查内容是否包含类似json深色版本{ registry-mirrors: [https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] }如果是 不必要的配置请删除或注释掉然后重启 Dockerbash深色版本sudo systemctl restart docker✅ 5. 检查 ~/.docker/config.jsonbash深色版本cat ~/.docker/config.json看是否配置了登录这个 registryjson深色版本{ auths: { xxxxxxxxxxxxxxxxx: { auth: xxx } } }如果你没有权限或暂时不需要使用它可以备份后删除该文件。Docker 离线安装安装 Docker ComposeCompose 项目是 Docker 官方的开源项目负责实现对 Docker 容器集群的快速编排使用一个 Dockerfile 模板文件可以让用户很方便的定义一个单独的应用容器。然而在日常工作中经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目除了 Web 服务容器本身往往还需要再加上后端的数据库服务容器甚至还包括负载均衡容器等Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.yml 模板文件来定义一组相关联的应用容器为一个项目Compose 中有两个重要的概念服务 (service)一个应用的容器实际上可以包括若干运行相同镜像的容器实例项目 (project)由一组关联的应用容器组成的一个完整业务单元在 docker-compose.yml 文件中定义在线安装 Docker ComposeHarbor 使用 Docker Compose 来管理容器因此需要安装 Docker Composesudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod x /usr/local/bin/docker-compose安装好后使用docker-compose -v 查看安装的docker-compose 版本docker-compose -vdocker-compose version 1.29.2, build 5becea4cHarbor 镜像仓库安装Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器它包括了诸如安全、身份认证、管理等功能。Harbor 支持多种操作系统包括 Linux。如果你想在基于 CentOS 的系统中安装 HarborHarbor 需要提前安装docker、Docker Compose下载 Harbor 安装包访问 Harbor 官方网站 或 GitHub 仓库 获取最新的 Harbor 安装包。选择适合你操作系统的版本下载。例如对于 Linux你可以下载 harbor-offline-installer-xxx.tgz 文件。wget https://github.com/goharbor/harbor/releases/download/v2.5.1/harbor-offline-installer-v2.5.1.tgz tar xzvf harbor-offline-installer-v2.5.1.tgz cd harbor配置 Harbor在 harbor.yml 文件中配置你的 Harbor 设置。你可以根据需要修改配置文件例如设置管理员密码、HTTPS、Harbor 的主机名等。例如要设置管理员密码# 默认管理员密码强烈建议修改此密码。 harbor_admin_password: StrongPassword01安装 Harbor使用 ./install.sh 脚本安装 Harbor./install.sh启动 Harbor安装完成后启动 Harbor./start.sh检查 Harbor 状态检查 Harbor 是否正常运行./check.sh访问 Harbor UI在浏览器中访问 http://your-hostname替换为你的服务器地址使用你在 harbor.yml 中设置的用户名默认为 admin和密码登录。以上步骤应该可以帮助你在 CentOS 系统上成功安装 Harbor。如果你使用的是其他 Linux 发行版如 Ubuntu、Debian安装过程类似只需确保 Docker 和 Docker Compose 的安装命令与你的发行版兼容即可。对于其他特定需求如使用 HTTPS、配置网络等请参考 Harbor 的官方文档进行详细配置