以下是在 CentOS 7 系统上安装 Docker 并配置代理的详细步骤,包含命令提示和关键说明。


一、环境准备

1. 更新系统

sudo yum update -y

2. 安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

二、安装 Docker

1. 添加 Docker 仓库

sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

2. 安装 Docker CE(社区版)

sudo yum install -y docker-ce docker-ce-cli containerd.io

3. 启动并启用 Docker 服务

sudo systemctl start docker
sudo systemctl enable docker

4. 验证 Docker 安装

sudo docker --version
sudo docker run hello-world
  • 如果输出 Hello from Docker!,说明安装成功。

三、配置代理(适用于需通过代理访问互联网的场景)

1. 系统级代理设置(适用于所有用户)

a. 编辑环境变量文件
sudo vi /etc/profile.d/proxy.sh
b. 添加以下内容(根据实际代理信息修改):
export http_proxy="http://<代理服务器IP>:<端口>"
export https_proxy="http://<代理服务器IP>:<端口>"
export no_proxy="localhost,127.0.0.1,.example.com"# 无需代理的域名或IP
c. 生效配置
source /etc/profile.d/proxy.sh
d. 验证代理(可选)
curl -I http://example.com

2. Docker 服务级代理设置

a. 创建 Docker 代理配置文件
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf
b. 添加以下内容(根据实际代理信息修改):
[Service]
Environment="HTTP_PROXY=http://<代理服务器IP>:<端口>"
Environment="HTTPS_PROXY=http://<代理服务器IP>:<端口>"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
c. 重载 systemd 配置并重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

3. 带认证的代理设置

如果代理需要用户名和密码,需在代理地址中包含认证信息(不推荐直接写明文密码):

export http_proxy="http://username:password@<代理服务器IP>:<端口>"

四、测试 Docker 代理配置

1. 拉取镜像验证

sudo docker pull hello-world
  • 如果代理配置正确,Docker 会通过代理拉取镜像。

2. 查看 Docker 代理状态

sudo systemctl show docker | grep -i proxy

五、常见问题处理

1. 代理配置错误

  • 错误示例Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection
  • 解决方法:检查代理地址、端口和认证信息是否正确,确保代理服务器允许访问 registry-1.docker.io

2. 权限问题

  • 错误示例Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
  • 解决方法:确保 Docker 服务已启动:
sudo systemctl status docker
sudo systemctl start docker

3. 代理冲突

  • 如果系统和 Docker 配置了不同的代理,可能导致冲突。建议统一配置。

六、附录:代理服务器说明

代理类型示例格式说明
HTTP 代理http://192.168.1.1:8080常见的代理协议
HTTPS 代理https://192.168.1.1:8080加密代理
无代理地址no_proxy=localhost,127.0.0.1本地地址无需代理

七、测试

执行命令,主机需要关闭防火墙服务。

docker search mysql

在这里插入图片描述


通过以上步骤,您可以在 CentOS 7 系统上成功安装 Docker 并配置代理。如果仍有问题,请检查网络策略或联系代理服务器管理员。

更多推荐