IT小春子 2023-09-18 23:44 采纳率: 72.7%
浏览 7
已结题

docker 不联网环境下启动nginx镜像提示错误:怎么解决呢?

docker 不联网环境下启动nginx镜像提示错误:ERROR: failed to solve: nginx:1.23.3: failed to do request: Head "https://qlmy5iw9.mirror.aliyuncs.com/v2/library/nginx/manifests/1.23.3?ns=docker.io%22: dial tcp 116.62.81.173:443: i/o timeout怎么解决呢?

[root@localhost nginx-deploy]# docker build -t web . 
[+] Building 60.0s (3/3) FINISHED                                                                                                                                docker:default
 => [internal] load build definition from Dockerfile                                                                                                                       0.0s
 => => transferring dockerfile: 198B                                                                                                                                       0.0s
 => [internal] load .dockerignore                                                                                                                                          0.0s
 => => transferring context: 2B                                                                                                                                            0.0s
 => ERROR [internal] load metadata for docker.io/library/nginx:1.23.3                                                                                                     60.0s
------
 > [internal] load metadata for docker.io/library/nginx:1.23.3:
------
Dockerfile:1
--------------------
   1 | >>> FROM nginx:1.23.3
   2 |     
   3 |     #jnpf的配置文件
--------------------
**ERROR: failed to solve: nginx:1.23.3: failed to do request: Head "https://qlmy5iw9.mirror.aliyuncs.com/v2/library/nginx/manifests/1.23.3?ns=docker.io": dial tcp 116.62.81.173:443: i/o timeout**

联网情况下运行正常:

[root@localhost nginx-deploy]# docker build -t web .
[+] Building 18.0s (7/7) FINISHED                                                                                                                                docker:default
 => [internal] load build definition from Dockerfile                                                                                                                       0.0s
 => => transferring dockerfile: 198B                                                                                                                                       0.0s
 => [internal] load .dockerignore                                                                                                                                          0.0s
 => => transferring context: 2B                                                                                                                                            0.0s
 => [internal] load metadata for docker.io/library/nginx:1.23.3                                                                                                           18.0s
 => [internal] load build context                                                                                                                                          0.0s
 => => transferring context: 92B                                                                                                                                           0.0s
 => [1/2] FROM docker.io/library/nginx:1.23.3@sha256:f4e3b6489888647ce1834b601c6c06b9f8c03dee6e097e13ed3e28c01ea3ac8c                                                      0.0s
 => CACHED [2/2] COPY lxc347.conf /etc/nginx/conf.d/                                                                                                                       0.0s
 => exporting to image                                                                                                                                                     0.0s
 => => exporting layers                                                                                                                                                    0.0s
 => => writing image sha256:6ad6e7c01ccbadb3073a4656ad61602b76ab3c529e6f7a58caf4f279eb7f3822                                                                               0.0s
 => => naming to docker.io/library/web                                                                                                                                     0.0s
[root@localhost nginx-deploy]# 

其中dockerfile文件内容:

FROM nginx:1.23.3
#jnpf的配置文件
COPY lxc347.conf /etc/nginx/conf.d/
#开放端口
EXPOSE 80

deploy.sh文件内容:

 #!/bin/bash
  #镜像名称
  CONTAINER_IMAGE=nginx:master-$(date +%Y%m%d%H%M)
  #容器名称
  CONTAINER_NAME=nginx
  #构建镜像
  docker build -t $CONTAINER_IMAGE .
  #停止之前的容器
  docker stop $CONTAINER_NAME || true && docker rm -f $CONTAINER_NAME || true
  #运行新的容器,/home/deploy/front是JNPF前端项目地址
  docker run --network=bridge -d -p 3000:80 -v /home/deploy/front:/home/deploy/front --name $CONTAINER_NAME $CONTAINER_IMAGE
  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-20 00:16
    关注

    【以下回答由 GPT 生成】

    问题分析:

    根据错误信息,问题出现在无法解析manifest的步骤上。当我们在构建镜像时,Docker会尝试从远程仓库(在这里是docker.io)获取所需的镜像层。然而,在不联网的情况下,Docker无法连接到远程仓库,因此无法解析manifest,从而导致构建过程失败。

    解决方案:

    要解决这个问题,我们可以使用本地镜像作为基础镜像,而不是从远程仓库获取。下面是解决问题的步骤:

    1. 在联网的环境中,从远程仓库拉取所需的镜像,并保存到本地:
    docker pull nginx:1.23.3
    

    这将下载名为nginx、标签为1.23.3的镜像。

    1. 确认镜像已成功下载,并可在本地访问:
    docker images
    

    输出类似以下内容:

    REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
    nginx        1.23.3    123456789abc   2 weeks ago   133MB
    
    1. 在不联网的环境中,使用本地镜像作为基础镜像来构建新的镜像。在Dockerfile中修改FROM语句如下:
    FROM nginx:1.23.3
    
    1. 使用docker build命令构建镜像:
    docker build -t web .
    

    这将使用本地的nginx:1.23.3镜像作为基础镜像进行构建。

    1. 确认构建成功:
    docker images
    

    输出中应该包含一个新的名为web、标签为latest的镜像。

    这样,您就可以在不联网的环境中成功构建nginx镜像了。

    希望这个解决方案对您有帮助。如果您有任何疑问,请随时提问。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月28日
  • 已采纳回答 9月20日
  • 创建了问题 9月18日

悬赏问题

  • ¥15 各位帮我看看为什么我写的代码按钮按了没有反应,deveco studio,
  • ¥20 云南省制造业对经济增长的影响目录应该怎么罗列,就是现状那部分
  • ¥15 绘制饼图及环形图(饼图和环形图示)
  • ¥15 求一套完整的纵横四海程序。
  • ¥20 AD7606采集到电压乱飘,怎么解决呢
  • ¥60 有没有人查监控方面厉害的呢
  • ¥15 绑住完成C语言的任务
  • ¥20 vue项目打包Android apk,实现小说文本朗读功能
  • ¥50 IPv6网络,br-lan拿不到地址无法全局路由
  • ¥15 微信小程序分页查询如何设置下一页