node.js - 当我制作图像时,我的 docker 命令在 wget 上失败

标签 node.js docker

我正在尝试通过nodejs制作docker镜像,Dockerfile如下:

FROM node:9-slim
RUN mkdir -p /python2 && chown -R root:root /python2
WORKDIR /python2
RUN wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
RUN tar -xvf Python-2.7.18.tgz
USER root
RUN export PATH=$PATH:/python2
RUN mkdir -p /var/tmp/thermo && chown -R root:root /var/tmp/thermo
WORKDIR /var/tmp/thermo
COPY * ./
RUN npm install
EXPOSE 3000
CMD [ "npm", "run" ]

每当我运行

docker build -t thermo-api .

在 wget 行上失败:

Step 4/13 : RUN wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
 ---> Running in c462b48d159b
INFO[2020-07-29T05:08:53.838143536Z] shim containerd-shim started                  address="/containerd-shim/moby/c462b48d159b0990f768c94a499072df46cc2933b6d4e0d1e49e7e83dd480b91/shim.sock" debug=false pid=6864
converted 'https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz' (ANSI_X3.4-1968) -> 'https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz' (UTF-8)
--2020-07-29 05:08:54--  https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
Resolving www.python.org (www.python.org)... failed: Name or service not known.
wget: unable to resolve host address 'www.python.org'

我不确定我的命令有什么问题?

最佳答案

由于它正在您的本地计算机(或虚拟机)上运行,因此您是否遇到了一些网络问题?您的 docker 是否应该了解代理?

也许尝试使用 network=host 进行构建:

docker build --network=host -t thermo-api .

如果您位于公司防火墙内,则应在构建命令中包含 --http_proxy--https_proxy 变量。

关于node.js - 当我制作图像时,我的 docker 命令在 wget 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63147778/

相关文章:

docker - 指定 SHA 时如何使用多架构基础 docker 镜像

mysql - 更改容器分配的 IP 地址

node.js - 如何在我的 nginx 服务器上设置两个 Node JS 应用程序

javascript - google-play-scraper 未处理的 promise 拒绝

linux - 通过 docker swarm 使用多个特定的网络接口(interface)

docker - 使用Chef配置Docker镜像?

docker 错误 : invalid reference format: repository name must be lowercase

javascript - 安全的 Node.js Restful API

javascript - 如何在 NodeJs 中手动更新多个 Mongo 文档?

javascript - Node.js post请求本地文件