準備工作:
1. 檢查網絡
- 檢查網絡連接:確保你的服務器網絡連接正常,可嘗試使用?
ping
?命令測試與 Docker Hub 服務器(如?ping registry-1.docker.io
)的連通性。
ping registry-1.docker.io
- 檢查防火墻:確認防火墻是否阻止了 Docker 與 Docker Hub 之間的通信。若使用的是?
firewalld
,可使用以下命令開放 Docker 相關端口:
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
2. Docker 鏡像源配置問題
- 檢查國內鏡像源:檢查 Docker 配置文件?
/etc/docker/daemon.json
?,示例如下
vim /etc/docker/daemon.json
- 配置國內鏡像源:使用國內的 Docker 鏡像源可以加快鏡像拉取速度并減少超時問題。你可以通過修改 Docker 配置文件?
/etc/docker/daemon.json
?來配置鏡像源,示例如下
{"registry-mirrors": ["https://0dj0t5fb.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn","https://6kx4zyno.mirror.aliyuncs.com","https://docker.1ms.run","https://registry.docker-cn.com"]
}
修改完成后,重啟 Docker 服務:
sudo systemctl restart docker
3. DNS 配置問題
- 檢查 DNS 設置:確保你的服務器 DNS 配置正確,可修改?
/etc/resolv.conf
?文件,添加可靠的 DNS 服務器,例如:
vim /etc/resolv.conf
- 修改DNS服務器?
修改為以下設置:
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
4. Docker 服務問題
- 重啟 Docker 服務:有時候 Docker 服務可能出現異常,可嘗試重啟 Docker 服務來解決問題:
sudo systemctl restart docker
完成上述操作后,你可以再次嘗試拉取?postgres:14.2
?鏡像:
docker run --name postgres --restart=always -e POSTGRES_PASSWORD=postgres -p 5432:5432 -v /home/postgres/data:/var/lib/postgresql --privileged -d postgres:16