Ubuntu 18.04(LTS)下创建Docker容器失败求助
解决Ubuntu 18.04下Docker拉取whalesay镜像失败的问题
我之前也碰到过一模一样的情况,这其实是过时的镜像格式和网络拉取超时两个问题叠加导致的。别担心,跟着下面的步骤一步步来就能解决:
第一步:升级Docker到兼容新版本
Ubuntu 18.04默认安装的Docker版本比较老旧,对旧的Schema1镜像格式支持不够友好,先把Docker升级到最新稳定版:
- 卸载旧版本的Docker组件:
sudo apt-get remove docker docker-engine docker.io containerd runc
- 安装Docker官方的最新版:
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 Hub在国内访问速度不稳定,很容易超时,配置国内镜像源能大幅提升拉取速度:
- 创建Docker配置目录并写入镜像源:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://hub-mirror.c.163.com", "https://mirror.aliyuncs.com"] } EOF
- 重启Docker服务让配置生效:
sudo systemctl daemon-reload sudo systemctl restart docker
第三步:重新拉取并运行镜像
现在再尝试拉取镜像,如果还是提示Schema1相关的问题,可以加上--disable-content-trust参数跳过签名验证:
- 拉取镜像:
sudo docker pull --disable-content-trust docker/whalesay:latest
- 运行你的Hello-World容器:
sudo docker run docker/whalesay cowsay Hello-World!
这样应该就能成功看到鲸鱼说Hello-World的输出啦!
内容的提问来源于stack exchange,提问作者Rashid Dar
相关产品推荐
相关产品推荐

