我正在编写一个基于 Wildfly 图像的 Dockerfile。我已经隔离了这些让我感到头疼的线路。 curl 命令在构建过程中不起作用。我已经卸载并再次安装了 Docker,但错误仍然存在。我的系统是 Linux Mint。
此外,我尝试在 RHEL 中构建相同的 Dockerfile,它的效果非常好。
这是 Dockerfile:
FROM jboss/wildfly
RUN cd $HOME \
&& curl -O "http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.44/mysql-connector-java-5.1.44.jar"
这是错误输出:
Sending build context to Docker daemon 1.03MB
Step 1/6 : FROM jboss/wildfly
---> b695bdcce374
Step 2/6 : RUN cd $HOME && curl -O "http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.44/mysql-connector-java-5.1.44.jar"
---> Running in 4fdcef7dbda1
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:39 --:--:-- 0
curl: (6) Could not resolve host: central.maven.org; Unknown error
The command '/bin/sh -c cd $HOME && curl -O "http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.44/mysql-connector-java-5.1.44.jar"' returned a non-zero code: 6
最佳答案
该错误是解析主机名的 DNS 问题。您可以尝试使用 --dns 选项( https://docs.docker.com/engine/reference/run/#network-settings )运行 docker
docker run --dns=8.8.8.8
这将为您设置容器/etc/resolv.conf 。
关于docker - curl 在 docker 构建期间不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47148083/