Docker容器镜像和仓库问题报错解决技巧经验汇总
1、Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-
1.docker.io
原因:Docker仓库无法访问
解决方式:
修改Docker仓库源为国内或者自建的仓库源
修改/etc/docker/daemon.json
2、推送本地镜像报错
The push refers to a repository [XXXX] Get https://xxx/v1/_ping: http:
server gave HTTP response to HTTPS client
原因:docker registry未采用https服务所致
解决方式:
/etc/docker/daemon.json 文件写入:
{ "insecure-registries":[""] }
3、/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go: starting container process caused "exec: \"/bin/bash\": executable file not found in $PATH".
原因:Docker镜像自身问题或者Docker引擎版本比较低导致
解决方式:
可以升级Docker版本服务
4、构建镜像,执行chown -R非常慢
原因:Docker使用写时复制策略,所以chown命令执行时,会将上层镜像文件全部复制到当前层,然后再修改权限,再写入文件系统。
解决方式:
不应该使用chown -R 这类大批量修改文件的命令
5、docker build构建镜像的时候报错:
Message from syslogd kernel:unregister_netdevice: waiting for lo to become free. Usage count = 1
原因:docker engine版本过高
解决方式:
docker engine版本需要和docker内部镜像的内核版本匹配
6、docker: Error response from daemon: containerd: container did not start before the specified timeout.ERRO[0133] error getting events from daemon: context canceled
原因:修改完docker root dir,重启后,下载镜像报错
解决方式:
重启docker服务
或者重启服务器