CentOS7安装Docker及配置代理
以下是在 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 并配置代理。如果仍有问题,请检查网络策略或联系代理服务器管理员。
