在Docker构build期间,curl不起作用

我正在写一个基于wildfly图像的Dockerfile。 我已经隔离了这些线,我有一些头痛。 curl命令在构build过程中不起作用。 我已经卸载并再次安装Docker,但错误仍然存​​在。 我的系统是Linux Mint。 另外,我试图在RHEL中构build相同的Dockerfile,它的function就像一个魅力。

这里是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选项运行docker( https://docs.docker.com/engine/reference/run/#network-settings

 docker run --dns=8.8.8.8 

这将为您设置容器/etc/resolv.conf。

我可以解决这个问题,做这样的事情:

 docker build --add-host central.maven.org:151.101.56.209 . 

但是我不满意 我想说的是,Docker使用我的DNS而不是设置固定的IP。 它会更优雅。