ubtuntu配置docker拉取hello-world
时间: 2025-02-19 15:23:46 浏览: 47
### 配置Docker以成功拉取`hello-world`镜像
#### 安装Docker引擎
为了确保能够顺利安装并配置Docker,在Ubuntu上应先更新包索引,之后再安装一些必要的依赖项来允许apt通过HTTPS使用仓库。最后,添加官方GPG密钥以及稳定版存储库,并执行实际的Docker CE安装过程。
```bash
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
```
确认Docker已正确安装并且服务正在运行:
```bash
sudo systemctl status docker
```
#### 解决网络连接问题
如果遇到类似于“i/o timeout”的错误消息,则可能是由于本地DNS解析或防火墙设置阻止了到远程服务器的访问造成的。可以尝试更改默认的DNS服务器为Google Public DNS (8.8.8.8 和 8.8.4.4),或者Cloudflare提供的1.1.1.1[^2]。
编辑 `/etc/systemd/resolved.conf` 文件并将 `DNS=` 行修改如下所示:
```ini
[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=
Domains=~.
LLMNR=no
MulticastDNS=no
Cache=yes
DNSSEC=no
```
重启systemd-resolved服务使更改生效:
```bash
sudo systemctl restart systemd-resolved
```
另外,还需确保没有任何安全组规则或其他形式的安全策略阻挡端口443上的流量,因为这是用于HTTPS通信的标准端口号。
#### 使用国内加速器源获取镜像
对于中国大陆地区的用户来说,可能还会面临国际互联网速度较慢的问题。这时可以选择使用阿里云这样的中国境内的容器注册表作为镜像下载的代理地址,从而加快下载速度[^3]。
登录阿里云官网创建个人账号后进入控制台页面找到对应的区域节点链接,接着按照下面的方式将其加入到系统的环境变量当中去:
```bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<your_aliyun_mirror>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
```
请注意替换 `<your_aliyun_mirror>` 为你自己的阿里云实例ID前缀部分。
完成上述操作以后就可以再次尝试执行命令 `docker run hello-world` 来验证整个流程是否正常工作了。
阅读全文
相关推荐


















