我正在编写一个基于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
答案 0 :(得分:1)
错误是解析主机名的DNS问题。您可以尝试使用--dns选项(https://docs.docker.com/engine/reference/run/#network-settings)
运行dockerdocker run --dns=8.8.8.8
将为您设置容器/etc/resolv.conf。
答案 1 :(得分:0)
我可以解决这个问题:
docker build --add-host central.maven.org:151.101.56.209 .
但我对此并不满意。我想说Docker使用我的DNS而不是设置固定IP。它会更优雅。