在执行Dockerfile时出现Get https://registry-1.docker.io/v2/错误的解决方案

1.在IDEA中建立好了SpringBoot项目,并配置好了docker容器,然后在执行Dockerfile时出现以下问题

Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

本人的Dockerfile文件如下:

 FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD ../../../target/demo-0.0.1-SNAPSHOT.jar demo-1.0.0.jar
#RUN bash -c "touch /demo-1.0.0.jar"
EXPOSE 8080
ENTRYPOINT ["java","-jar","demo-1.0.0.jar"]
这里说明在执行第一个命令时就出现了问题,有两种原因:

(1)本身网速太慢,无法下载;
(2)在Docker容器中配置的镜像有误,或镜像太水,比如下面两款镜像,分别是阿里云和中科院的
中科院的镜像

  {
        "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
    }

阿里云的镜像

{
 "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}

经过本人多次测试,发现还是阿里云的好用,所以强烈推荐这款
2.在ubuntu中依次执行以下命令:
2.1 创建daemon.json文件,并将上面的镜像复制粘贴进去

sudo vim /etc/docker/daemon.json

2.2 重启docker

systemctl daemon-reload 
systemctl restart docker

2.3 继续执行dockerfile文件的命令
在执行Dockerfile时出现Get https://registry-1.docker.io/v2/错误的解决方案_第1张图片

你可能感兴趣的:(java,docker)