Docker Compose를 사용하여 Traefik 2 시작하기
다른 호스트에서 많은 Traefik 인스턴스를 사용하고 있기 때문에 배포를 더 쉽게 하기 위해 traefik-dockerized이라는 리포지토리를 생성했습니다.
먼저 리포지토리를 복제합니다.
$ git clone https://github.com/cedrichopf/traefik-dockerized.git
Cloning into 'traefik-dockerized'...
$ cd traefik-dockerized
리포지토리를 복제한 후 예제 구성의 복사본을 만듭니다.
$ cp config/traefik.example.yml config/traefik.yml
구성 파일을 엽니다. 다음과 같아야 합니다.
api:
dashboard: true
entryPoints:
http:
address: ":80"
https:
address: ":443"
providers:
docker:
network: proxy
certificatesResolvers:
letsencrypt:
acme:
email: [email protected]
storage: acme.json
httpChallenge:
entryPoint: http
구성 파일은 거의 사용할 준비가 되었습니다. 기본 제공 LetsEncrypt 지원을 사용하려면 인증서 확인자의 이메일 주소를 조정하십시오.
그런 다음 traefik.yml 파일에 구성된 Docker 네트워크를 생성합니다.
$ docker network create proxy
ca0a9fe39b34b9f17d5c5e938e82ce67b4423e151ae5000eee7754e89116cac1
또한 인증서 확인자가 받은 인증서 정보를 저장할 JSON 파일을 만듭니다.
$ touch letsencrypt/acme.json
$ chmod 600 letsencrypt/acme.json
docker-compose.yml 파일은 저장소의 일부이며 모든 Traefik 배포에 대한 일반입니다. docker-compose.override.yml 파일을 만들어 배포에 사용자 지정 구성을 적용합니다.
$ cp override.example.yml docker-compose.override.yml
마지막으로 Docker 이미지를 가져오고 Traefik 인스턴스를 시작합니다.
$ docker-compose pull
Pulling traefik ... done
$ docker-compose up -d
Creating traefik_traefik_1 ... done
서비스 예
이제 docker-compose를 사용하여 샘플 서비스를 배포하여 Traefik 설정을 테스트할 수 있습니다. 다음 예제에서는 레이블 섹션에서 Traefik 서비스 구성을 사용하여 Nginx 컨테이너를 배포합니다.
참고: 이 예를 사용하려면 시스템 환경과 일치하도록 호스트 이름example.com
을 변경해야 합니다. 서비스를 검색하기 위해 Traefik에서 사용하는 도커 네트워크를 변경한 경우 네트워크도 변경해야 합니다.
version: "3.7"
services:
nginx:
image: nginx:latest
networks:
- proxy
labels:
# Traefik configuration, Hostname needs to be changed
- traefik.http.routers.nginx-http.rule=Host(`example.com`)
- traefik.http.routers.nginx-http.entrypoints=http
- traefik.http.routers.nginx-http.middlewares=redirect
- traefik.http.routers.nginx-https.rule=Host(`example.com`)
- traefik.http.routers.nginx-https.entrypoints=https
- traefik.http.routers.nginx-https.tls=true
- traefik.http.routers.nginx-https.tls.certresolver=letsencrypt
- traefik.http.services.nginx.loadbalancer.server.port=80
- traefik.http.middlewares.redirect.redirectscheme.scheme=https
networks:
proxy:
external: true
매니페스트에서 볼 수 있듯이 Traefik은 레이블 섹션에 정의된 속성을 사용하여 서비스에 대한 액세스를 구성합니다. 이 예에서는 2개의 라우터(http 및 https)를 만들고 포트 80에서 Nginx 서비스로 요청을 전달합니다. 또한 http 라우터는 리디렉션 미들웨어를 사용하여 http에서 https로 모든 요청을 리디렉션합니다. 연결을 보호하기 위해 letsencrypt 인증서 확인자를 사용하여 인증서를 제공합니다.
예시를 배포하려면 다음 명령을 실행합니다.
$ docker-compose up -d
Creating example-service_nginx_1 ... done
마지막으로 구성된 경로에서 브라우저를 열고 Nginx 시작 페이지를 확인합니다.
Reference
이 문제에 관하여(Docker Compose를 사용하여 Traefik 2 시작하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/cedrichopf/get-started-with-traefik-2-using-docker-compose-35f9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
version: "3.7"
services:
nginx:
image: nginx:latest
networks:
- proxy
labels:
# Traefik configuration, Hostname needs to be changed
- traefik.http.routers.nginx-http.rule=Host(`example.com`)
- traefik.http.routers.nginx-http.entrypoints=http
- traefik.http.routers.nginx-http.middlewares=redirect
- traefik.http.routers.nginx-https.rule=Host(`example.com`)
- traefik.http.routers.nginx-https.entrypoints=https
- traefik.http.routers.nginx-https.tls=true
- traefik.http.routers.nginx-https.tls.certresolver=letsencrypt
- traefik.http.services.nginx.loadbalancer.server.port=80
- traefik.http.middlewares.redirect.redirectscheme.scheme=https
networks:
proxy:
external: true
$ docker-compose up -d
Creating example-service_nginx_1 ... done
Reference
이 문제에 관하여(Docker Compose를 사용하여 Traefik 2 시작하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cedrichopf/get-started-with-traefik-2-using-docker-compose-35f9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)