如何更新docker中镜像的版本?
# 进入 docker-compose.yml 文件所在的文件夹下
cd /root/data/docker_data/npm
# 停止容器
docker-compose down
# 数据备份 # 万事先备份,以防万一
cp -r /root/data/docker_data/npm /root/data/docker_data/npm.archive
# 拉取新版本镜像
docker-compose pull
# 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。
docker-compose up -d
# prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像
docker image prune
出现以下错误:
Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
原因: docker默认镜像源为国外镜像源,下载速度过慢导致连接失败
解决办法:更换国内镜像源
1、etc/docker/daemon.json
文件并打开,找到daemon.json
文件
2、将以下代码复制进去并保存关闭
{
"registry-mirrors": ["https://docker.shootchat.top","https://dockerhub.icu"]
}
3、继续报错
ubuntu@VM-16-6-ubuntu:/opt/stacks/web$ sudo docker-compose pull
[+] Pulling 1/1
✘ Nginx-Proxy-Manager Error 30.0s
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
ubuntu@VM-16-6-ubuntu:/opt/stacks/web$ sudo docker-compose pull
[+] Pulling 1/1
✘ Nginx-Proxy-Manager Error 30.0s
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
ubuntu@VM-16-6-ubuntu:/opt/stacks/web$
原因是:没有重启docker
# 重启docker
systemctl restart docker
# 加上sudo
sudo systemctl restart docker
4、重启后拉取镜像就成功了~
标签:daemon,compose,版本,ubuntu,镜像,docker,data From: https://www.cnblogs.com/520future/p/18472817