docker network

Docker 컨테이너(container)는 격리된 환경에서 돌아가기 때문에 기본적으로 다른 컨테이너와의 통신이 불가능합니다. 하지만 여러 개의 컨테이너를 하나의 Docker 네트워크(network)에 연결시키면 서로 통신이 가능해집니다.

portainer 에서 network 생성

network -> add network

name -> nginx-django 생성

container 를 network에 연결

container -> add container 의 하단부

container name 지정할때 주의 -> container name == host name

network 탭에서 container가 참가할 네트워크를 찾아 설정

network 내에서 요청

docker network 내에서는 컨테이너 이름을 호스트 네임으로 사용

그렇기에 nignx.conf 같은 설정에서 django 같은 서버를 호출할때 

컨테이너네임:포트번호 를 주소로 사용

아래의 proxy_pass 부분

worker_processes auto;

events {
}

http {
  server {
    listen 80;

    location / {
        proxy_pass http://django_container_gunicorn:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }
}

 

728x90

+ Recent posts