【保姆级教程】Ubuntu 环境下 Docker 安装与网络代理配置指南

10 阅读1分钟

在 Linux 服务器(Ubuntu)上部署服务时,Docker 是最基础的工具。但在国内网络环境下,不仅安装过程可能缓慢,安装后的镜像拉取(docker pull)也常因网络超时而失败。

本文整合了官方标准安装步骤网络代理配置方案,助您在 Ubuntu 上快速搭建稳定的 Docker 环境。


第一部分:安装 Docker Engine (标准版)

我们推荐使用 Docker 官方源安装,以确保版本最新且稳定。

1. 卸载旧版本(可选)

如果系统之前安装过旧版 Docker,建议先清理,避免冲突:

Bash

sudo apt-get remove docker docker-engine docker.io containerd runc

2. 配置官方软件源

安装必要的依赖工具,并添加 Docker 的 GPG 密钥和仓库地址:

Bash

# 更新索引并安装依赖
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

# 添加 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 a+r /etc/apt/keyrings/docker.gpg

# 写入软件源信息
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

3. 正式安装

更新索引(让系统识别新加入的源)并安装:

Bash

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

第二部分:配置 Docker 代理 (解决镜像拉取失败)

安装完成后,直接运行 docker pull 往往会超时。最彻底的解决方法是让 Docker 守护进程(Daemon)走代理。

1. 创建 Systemd 配置目录

Docker 服务由 systemd 管理,我们需要覆盖其默认配置。

Bash

sudo mkdir -p /etc/systemd/system/docker.service.d

2. 编辑代理配置文件

创建文件 /etc/systemd/system/docker.service.d/http-proxy.conf

Bash

sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

3. 填入代理信息

将下方内容的 127.0.0.1:7890 替换为您实际的代理服务器 IP 和端口(例如局域网内的 Clash/V2Ray 端口):

Ini, TOML

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1,::1"

(注:NO_PROXY 用于确保本地通讯不走代理,保持性能。)

4. 重载配置并重启服务

修改 systemd 配置后,必须执行重载才能生效:

Bash

sudo systemctl daemon-reload
sudo systemctl restart docker

第三部分:验证与优化

1. 检查代理是否生效

运行以下命令,查看输出的环境变量中是否包含 Proxy 信息:

Bash

sudo docker info | grep Proxy

如果输出显示了您配置的 IP 和端口,说明配置成功。

2. 测试拉取镜像

运行 Hello World 容器,测试是否能连通 Docker Hub:

Bash

sudo docker run hello-world

3. (可选) 免 Sudo 使用 Docker

默认情况下 Docker 需要 root 权限。如果您想直接使用 docker 命令而不是 sudo docker,请执行:

Bash

sudo groupadd docker          # 创建组(通常已存在)
sudo usermod -aG docker $USER # 将当前用户加入组
newgrp docker                 # 立即刷新组权限

总结:通过上述步骤,您已经拥有了一个安装规范、且具备科学网络环境的 Docker 平台,可以顺畅地拉取和运行各类容器服务了。

下一步: 需要为您介绍如何使用 Portainer 来通过网页图形化界面管理这些 Docker 容器吗?