Docker 및 프록시 자습서 사용
당신은 왜 이 문장을 읽으려고 합니까?
이 강좌를 통해 Docker 엔진과 용기에 프록시를 설정하는 방법에 대한 모든 지식을 얻을 수 있습니다!
빠른 복습: 프록시 서버는 무엇입니까?
프록시 서버는 컴퓨터와 인터넷 사이에 있는 서버로 네트워크 외부와 상호작용을 할 수 있습니다.
프록시를 사용하려는 주요 원인은 다음과 같습니다.
Docker에서 에이전트를 사용하는 방법
처음에 제가 곤혹스러웠던 것은 Docker 수호 프로세스와 Docker 용기가 같은 프록시 설정을 공유하지 않는다는 것입니다!
Docker 엔진 설정
Docker 엔진은 이미지 레지스트리에 액세스하고 컨테이너 이미지를 당기거나 밀기 위해 인터넷에 연결해야 합니다.
설정이 올바르지 않은 경우 docker login
를 사용하거나 DockerHub에서 이미지를 추출할 때 일반적으로 오류가 발생합니다. 예를 들어, 다음을 참조하십시오.
Mac/Windows Docker에서 에이전트 설정
Docker for Desktop을 실행하는 경우 매우 간단한 작업입니다.이 작업은 Docker 설정Docker > Preferences > Resources > Proxies
에서 수행할 수 있습니다.다음 변수에 대한 값만 제공하면 됩니다.
HTTP_PROXY
: HTTP 호출을 처리하는 프록시 서버 노드HTTPS_PROXY
: HTTPS 호출을 처리하는 노드(HTTPS 노드가 아닐 수 있음)NO_PROXY
: 에이전트 없이 Docker가 액세스할 수 있는 호스트 목록(일반적으로 이 필드localhost,127.0.0.1
그 다음에 Apply & Restart 단추를 누르면 그림을 밀거나 당길 수 있습니다✅인증 사용
내가 자주 묻는 질문 중 하나는 이 폼에 사용자 이름과 비밀번호 필드가 없으면 어떻게 인증을 제공하는가이다.나는 왜 그들이 설정에 이런 필드를 포함하지 않았는지 모르겠지만, 너는 이렇게 URL 인증을 사용할 수 있다.
http://<username>:<password>@my.proxy.com:3128/
Systemd를 사용하여 Linux에서 프록시 설정
Linux 설치를 사용하는 경우 좋은 기본 설정 메뉴에 액세스할 수 없습니다.Linux에서 Docker 엔진은 Systemd를 통해 시스템 서비스로 구성됩니다.
시스템 관리 기술의 먼지를 닦아내자!👨🏻💻
대부분의 Linux 릴리스에서 Docker는 Systemd가 있는 서비스로 구성됩니다.덮어쓰기 파일을 만들어서 서비스 설정을 변경할 수 있습니다.다음 단계를 따르십시오.
1) 다음 명령을 사용하여 Docker 서비스 구성을 편집합니다.
> sudo systemctl edit docker.service
Systemd는 기본 터미널 편집기를 사용하여 파일을 덮어쓰거나 서비스를 엽니다.2) 프록시 변수를 포함하도록 서비스 구성을 추가하거나 수정합니다.서비스 파일은 다음과 같습니다.
[Service]
Environment=“HTTP_PROXY=http://10.0.1.60:3128”
Environment=“HTTPS_PROXY=http://10.0.1.60:3128”
Environment=“NO_PROXY=localhost,127.0.0.1”
3) 파일을 저장하고 닫은 다음> sudo systemctl restart docker.service
프록시를 사용하여 컨테이너 실행 설정
현재 Docker engine에 에이전트를 설정했습니다. Docker가 실행 중인 용기와 이 설정을 영원히 공유하지 않는다는 것을 알아야 합니다!👎🏻
컨테이너가 인터넷에 액세스하려면 다음과 같은 환경 변수를 사용하여 프록시 설정을 제공해야 합니다.
> docker run \
--env http_proxy="http://my.proxy.com:3128" \
--env https_proxy="http://my.proxy.com:3128" \
nginx sh -c "curl google.com"
완전한 단계별 강좌
내 아래의 동영상을 봐라. 진실한 환경에서 내가 문장에서 묘사한 모든 것을 볼 수 있다!
비디오에서 Docker가 기본적으로 컨테이너에 프록시 구성을 사용하도록 구성하는 방법에 대해서도 설명합니다.이렇게 하면 매번 http_proxy
및 https_proxy
변수를 전달할 필요가 없습니다.
생산성네, 어서 오세요!🚀
나와 함께 이런 내용을 더 많이 이해하는 것을 잊지 마라!
Reference
이 문제에 관하여(Docker 및 프록시 자습서 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/mcastellin/use-docker-with-proxy-servers-tutorial-10gg
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Docker 및 프록시 자습서 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mcastellin/use-docker-with-proxy-servers-tutorial-10gg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)