도커 컨테이너별 도메인 연결 | Docker-Nginx-Proxy | JMON

JMON·2021년 1월 14일
1

Docker

목록 보기
1/4
post-thumbnail

📄 설명

📣 서브도메인 활용

http://my_domain.com:Port 이제는 지겹다!!!
나도 깔끔한 http://sub.my_domain.com 으로😎~~

📄 사용방법

📣 프록시 컨테이너

✍ 프록시 컨테이너 Pull

docker pull jwilder/nginx-proxy

✍ 기본 명령어

docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy

📣 서브도메인 사용 컨테이너

✍ 기본 명령어

docker run -e VIRTUAL_HOST=foo.bar.com  ...

✍ 주의

도메인을 사용할 컨테이너는 expose가 포함되어있어야합니다
ex) docker run -e VIRTUAL_HOST=foo.bar.com --expose 80 ...

✍ 예시

# 라즈베리파이 nginx-proxy에 대한 예시입니다

version: '2'

volumes:
  nextcloud:
  db:

services:
  nginx-proxy:
    container_name: nginx-proxy
    image: alexanderkrause/rpi-nginx-proxy
    ports:
      - "80:80"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro

  db:
    container_name: nextcloud_db
    image: {my mysql container}
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD={your passwd}
      - MYSQL_PASSWORD={your passwd}
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    container_name: nextcloud_app
    image: {my nextcloud container}
    expose:
     - "80"
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    environment:
      - VIRTUAL_HOST=sub1.domain.com
    restart: always

  django:
    container_name: django
    image: {my django container}
    volumes:
      - {your django dir}:/var/www/django
    restart: always
    expose:
      - "80"
    environment:
      LC_ALL: C.UTF-8
      TZ: 'Asia/Seoul'
      VIRTUAL_HOST: sub2.domain.com

📄 참고자료

🎈 Git : https://github.com/nginx-proxy/nginx-proxy
🎈 라즈베리파이 : https://hub.docker.com/r/alexanderkrause/rpi-nginx-proxy/

profile
Fullstack Developer

0개의 댓글