2017-11-26 8 views
0

도커 빌드를 위해 프록시를 사용하고 싶습니다. 이 같은 솔루션을 확인 :Docker가 호스트 시스템에서 프록시를 생성합니다.

sudo docker build -t Cron/ubuntu \ 
      --build-arg http_proxy="http://myproxy.example.com:8080" \ 
      --build-arg https_proxy="https://myproxy.example.com:8080" \ 

하지만 내 상황에서, 프록시 IP는 인터넷 주소하지만,이 같은 호스트 시스템에서 일부 IP되지 않습니다 : 0.0.0.0:8118.

나는 내가 이미지 및 apt-get 같은 몇 가지로 dockerfile 실행을 구축 할 --buid-arg를 사용하는 경우, 컨테이너가 고정 표시기 시스템 대신 호스트 시스템에서 0.0.0.0:8118를 사용하려고 것이라 생각합니다. 그리고 호스트 시스템처럼 도커 시스템을 위해 ip를 설정하지 않았기 때문에 프록시가 유효하지 않습니다.

제 질문은 호스트 시스템에서 프록시를 사용하여 docker build을 (를) 어떻게 실행할 수 있습니까? 호스트에서 도커 컨테이너로 ip를 매핑하는 방법이 있습니까?

+0

0.0.0.0은 유효한 실제 주소가 아니며 모든 주소와 함께 모든 네트워크 인터페이스에서 연결을 수락하도록 서버에 알립니다. Docker 내부 의사 네트워크에서 서버의 실제 내부 IP 주소를 알아야하고이를 전달해야합니다. – tripleee

+0

https://github.com/moby/moby/issues/1143을 참조하십시오. – tripleee

답변

0

이 같은 ~/.docker/config.json 파일에 파일을 만듭니다

{ 
    "proxies":{ 
    "httpProxy":"http://proxy_url:proxy_port", 
    "httpsProxy":"https://proxy_url:proxy_port", 
    "ftpProxy":"ftp://proxy_url:proxy_port" 
    } 
} 

다음과 같이 고정 표시기를 호출을 :

sudo docker build -t Cron/ubuntu --build-arg http_proxy --build-arg https_proxy --build-arg ftp_proxy 

이 기능이 PR에 구현 : https://github.com/moby/moby/pull/32966

이 UX를 더 좋게 만드는 아이디어는 여기에 기고하십시오. https://github.com/moby/moby/issues/30323