Docker에서 프록시를 설정하는 방법 (컨테이너, Compose 및 빌드)

업데이트:

단일 호스트 서버에서 멀티 컨테이너 크롤러, 자동화 워커 또는 DePIN 노드를 실행할 때, 컨테이너별로 HTTP_PROXY 및 HTTPS_PROXY 환경 변수를 전달하면 호스트 시스템의 라우팅 테이블을 수정하지 않고도 각 서비스가 VinaProxy의 전용 고정 IPv4 주소를 통해 외부로 통신할 수 있습니다.

Docker · HTTP Proxy Format
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port
전용 IPv4 (데이터센터)
🇸🇬 Singapore
재고 있음
최저
₫20,000 / IP / 월
≈ US$0.74 · VND로 결제
수량별 할인 요금
  • 1개 IP₫40,000
  • 5+ IP₫35,000
  • 10+ IP₫25,000
  • 20+ IP₫25,000
  • 50+ IP₫25,000
  • 100+ IP₫25,000
  • 200+ IP₫25,000
  • 500+ IP₫25,000
  • 1000+ IP₫22,000
  • 2000+ IP₫20,000
Singapore 프록시 구매
전용 IPv4 (데이터센터)
🇺🇸 United States
재고 있음
최저
₫20,000 / IP / 월
≈ US$0.74 · VND로 결제
수량별 할인 요금
  • 1개 IP₫40,000
  • 5+ IP₫35,000
  • 10+ IP₫25,000
  • 20+ IP₫25,000
  • 50+ IP₫25,000
  • 100+ IP₫25,000
  • 200+ IP₫25,000
  • 500+ IP₫25,000
  • 1000+ IP₫22,000
  • 2000+ IP₫20,000
United States 프록시 구매

Docker의 3가지 프록시 구성 범위 이해하기

Docker는 컨테이너 런타임 트래픽, 이미지 빌드 트래픽, 데몬 레지스트리 풀 트래픽을 분리하여 처리합니다:

Docker 범위구성 위치라우팅 대상
1. 컨테이너 런타임 (가장 일반적)docker run -e HTTP_PROXY=... 또는 Compose environment:해당 컨테이너 내부 애플리케이션에서 발생하는 모든 아웃바운드 트래픽
2. 이미지 빌드 (docker build)--build-arg HTTP_PROXY=http://user:pass@ip:port빌드 중 패키지 매니저(apt, pip, npm)의 다운로드 요청
3. Docker 데몬 (dockerd)/etc/systemd/system/docker.service.d/http-proxy.conf레지스트리에 대한 docker pull 및 docker push 요청

Docker Compose 모범 사례 및 NO_PROXY 규칙

  • 모든 Linux CLI 도구 및 런타임이 인식할 수 있도록 대문자(HTTP_PROXY, HTTPS_PROXY, NO_PROXY)와 소문자(http_proxy, https_proxy, no_proxy) 변수를 모두 설정
  • 컨테이너 간 통신이 로컬 브리지 네트워크에 머물도록 내부 Docker Compose 서비스 이름(예: NO_PROXY=localhost,127.0.0.1,redis,postgres)을 반드시 등록
  • 공개 이미지의 Dockerfile 내에 ENV로 프록시 비밀번호를 하드코딩하지 말고, 런타임에 .env 또는 docker-compose.yml을 통해 주입

단계별 안내

  1. 1

    프록시를 http://user:pass@ip:port 형식으로 변환

    프록시 포맷 변환기를 사용하여 VinaProxy의 ip:port:user:pass 형식을 표준 URL로 변환합니다.

  2. 2

    docker-compose.yml에 환경 변수 추가

    서비스의 environment: 항목 아래에 HTTP_PROXY, HTTPS_PROXY, http_proxy, https_proxy 및 NO_PROXY=localhost,127.0.0.1,redis,db를 정의합니다.

  3. 3

    컨테이너 시작 또는 재생성

    docker compose up -d를 실행하여 새로운 환경 변수를 적용합니다.

  4. 4

    컨테이너 내부에서 출구 IP 확인

    docker exec -it <container> curl -s https://vinaproxy.com/api/my-ip를 실행하여 컨테이너가 프록시 IP로 통신하는지 확인합니다.

자주 묻는 질문

HTTP_PROXY 설정 후 컨테이너가 Redis나 Postgres 컨테이너에 접근하지 못하는 이유는 무엇인가요?

NO_PROXY가 없으면 HTTP 클라이언트가 redis나 db와 같은 내부 서비스 이름도 외부 프록시를 통해 접근하려고 시도합니다. NO_PROXY=localhost,127.0.0.1,redis,db(및 소문자 no_proxy)를 추가하여 내부 브리지 호스트에 대한 프록시를 우회하세요.

단일 VPS에서 20개의 컨테이너에 각각 서로 다른 20개의 프록시를 할당할 수 있나요?

네, 가능합니다. 각 컨테이너 서비스에(또는 개별 .env 변수를 전달하여) 고유한 http://user:pass@ip:port 문자열을 지정하면 됩니다.

왜 대문자와 소문자 프록시 변수를 둘 다 설정해야 하나요?

libcurl 등 일부 Linux 라이브러리는 소문자 http_proxy / https_proxy를 먼저 확인하는 반면, Go 및 Node 도구는 대문자 HTTP_PROXY / HTTPS_PROXY를 확인하기 때문입니다.

모든 Docker 컨테이너에 전용 고정 IP 할당

7개국 무제한 전용 IPv4 및 고정 ISP 프록시를 즉시 이용할 수 있습니다.

Docker 프록시 구매

관련 글

도구별 프록시 설정
Ubuntu 및 Debian Linux에서 프록시를 설정하는 방법
Ubuntu Server 및 Desktop 환경에서 /etc/environment, APT 패키지 관리자, systemd 데몬 및 GNOME 네트워크 설정을 위한 VinaProxy HTTP(S) 프록시를 구성합니다.
도구별 프록시 설정
cURL에서 프록시를 사용하는 방법 (명령줄 구문 및 디버깅)
Linux, macOS, Windows에서 인증된 HTTP(S) 프록시(-x http://user:pass@ip:port 및 -U)와 함께 curl을 사용하는 완벽한 방법.
플랫폼별 프록시
웹 스크래핑용 프록시: 24/7 크롤러를 위한 무제한 전용 IPv4 & ISP 풀
Python, Playwright, Selenium, Scrapy용 초고속 HTTP(S) 전용 IPv4 및 고정 ISP 프록시. 월간 대역폭 완전 무제한 제공.
플랫폼별 프록시
에어드랍 & DePIN (Grass) 프록시: 고정 ISP로 시빌(Sybil) 필터링 차단
Web3 에어드랍, 테스트넷, DePIN 노드 확장 프로그램(Grass, Dawn, Nodepay)을 안전하게 채굴하세요. 고정 ISP 및 전용 IPv4 프록시 제공.
플랫폼별 프록시
SEO 및 SERP 순위 추적 프록시: 7개국 현지 검색 순위의 정확한 측정
로컬 키워드 순위 추적, Geo 리다이렉트 감사, Screaming Frog 사이트 크롤링을 트래픽 무제한 전용 IPv4 및 고정 ISP 프록시로 실행하세요.
IPV4 · singapore
싱가포르 프라이빗 IPv4 프록시: 동남아 이커머스 및 광고를 위한 고속 전용 SG IP
Lazada·Shopee SG 매장, 지역 광고 계정, 광고 검증, 저지연 자동화용 싱가포르 전용 고정 IPv4. 무제한 데이터.
IPV4 · united states
미국 프라이빗 IPv4 프록시: 빠르고 안정적인 전용 미국 데이터센터 IP
미국 프라이빗 IPv4 프록시: 스크래핑, 순위 추적, 광고 확인 및 아마존 리서치용. 고정 IP, 1인 1IP, 무제한 대역폭, 빠른 활성화.
활용 사례
웹 스크래핑 및 데이터 수집을 위한 프록시
웹 스크래핑용 프록시 고르기: 대부분의 사이트에는 빠른 프라이빗 IPv4, 엄격한 사이트에는 고정 ISP, 무제한 트래픽, 그리고 책임 있게 크롤링하는 방법.