2017-11-07 1 views
0

야생 오리 이미지를 기반으로 한 Dockerfile을 쓰고 있습니다. 나는 두통이있는 곳에서이 선들을 고립시켰다. 빌드 프로세스 중에 명령이 작동하지 않습니다. 이미 Docker를 제거하고 다시 설치했지만 오류가 계속 발생합니다. 내 시스템은 Linux Mint입니다. 또한 RHEL에 동일한 Dockerfile을 만들려고했는데 매력적이었습니다.docker 빌드 중 컬링이 작동하지 않습니다.

다음은 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 

답변

1

오류가 호스트 이름을 해결에서 DNS 문제입니다. 당신은 당신을 위해 컨테이너 /etc/resolv.conf 파일을 설정합니다 --dns 옵션 (https://docs.docker.com/engine/reference/run/#network-settings)

docker run --dns=8.8.8.8 

로 고정 표시기를 실행 시도 할 수 있습니다.

+0

질문은 '도커 실행'단계가 아니라 '도커 빌드'단계에서 발생하는 DNS 문제에 관한 질문이었습니다. 빌드 중에 사용되는 DNS 서버에 영향을주기 위해서는 전체 데몬이 작동중인 DNS 시스템을 갖도록 설정되어야합니다. 이것은 호스트의 /etc/resolv.conf가 컨테이너 (및 빌드 단계)를 포함하여 전체 시스템에서 사용되는 올바른 DNS 서버를 포함해야 함을 의미합니다. 시스템의 /etc/resolv.conf가 실제로 컨테이너에 적합하지 않으면 /etc/docker/daemon.json에서 설정하여 다른 데몬을 사용하도록 전체 데몬을 구성 할 수 있습니다. – programmerq

0

나는 이런 식으로 뭔가를하고 문제 해결 수 :

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

을하지만, 나는 행복하지 않다. Docker가 고정 IP 대신 내 DNS를 사용한다고 말하고 싶습니다. 그것은 더 우아 할 것입니다.

관련 문제