Docker 在国内网络环境下的使用

在国内,由于访问 Docker 官方镜像仓库时速度较慢,使用国内的镜像源可以显著提升 Docker 镜像的下载速度。本文将介绍如何在 Ubuntu 系统上配置 Docker,使用国内镜像源并优化 Docker 配置。

参考文献:

1. 安装 Docker

首先,更新系统并安装 Docker 所需的依赖项:

bash 复制代码
sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release

然后,添加阿里云 Docker 镜像的 GPG 密钥:

bash 复制代码
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/aliyun-docker.gpg

接下来,配置 Docker 镜像源为阿里云的镜像源:

bash 复制代码
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/aliyun-docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新软件包列表并安装 Docker:

bash 复制代码
sudo apt update
sudo apt install -y docker-ce

安装完成后,可以使用以下命令检查 Docker 是否安装成功:

bash 复制代码
sudo docker info

2. 免 sudo 执行 Docker 命令

每次执行 Docker 命令时都需要加 sudo 会显得比较繁琐。为了避免每次都加 sudo,可以将当前用户添加到 docker 用户组:

bash 复制代码
sudo usermod -aG docker $USER
newgrp docker

执行完上述命令后,注销并重新登录,之后就可以直接执行 docker 命令,而无需每次加 sudo。

3. 配置 Docker 镜像源

为了加速 Docker 镜像的下载速度,可以配置国内的 Docker 镜像源。首先,创建 Docker 配置文件目录:

bash 复制代码
sudo mkdir -p /etc/docker

然后,编辑 Docker 的配置文件 daemon.json:

bash 复制代码
sudo vim /etc/docker/daemon.json

在文件中输入以下内容(使用上面提到的阿里云镜像源列表):

json 复制代码
{
  "debug": true,
  "experimental": false,
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io",
    "https://lispy.org", 
    "https://docker-0.unsee.tech"
  ]
}

配置完成后,重新加载 Docker 配置:

bash 复制代码
sudo systemctl daemon-reload

接着,重启 Docker 服务:

bash 复制代码
sudo systemctl restart docker

最后,检查镜像源是否生效:

bash 复制代码
docker info | grep -A 1 "Registry Mirrors"

如果显示了配置的国内镜像源,说明配置成功。

总结

通过配置国内的 Docker 镜像源,能够显著提升 Docker 镜像下载速度,减少等待时间。同时,将当前用户添加到 docker 用户组,可以避免每次执行命令时都加 sudo。通过上述步骤,你可以在国内网络环境下更高效地使用 Docker。

相关推荐
我不会插花弄玉9 小时前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理10 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
java_logo12 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
xbzb13 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
火云代理14 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖14 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
打工仔折腾 AI17 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
火云代理17 小时前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
如夏倾城17 小时前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http
科研邪修法18 小时前
培训PDF保护配置:把需求转换成可验收权限
linux·服务器·网络