,
Code-Server는 웹 브라우저를 통해 Visual Studio Code에 액세스 할 수 있는 강력한 오픈 소스 도구입니다. Docker 컨테이너에서 Code-Server를 실행하면 어디서나 액세스 할 수 있는 원격 개발 환경을 쉽게 설정할 수 있습니다. 이 튜토리얼에서는 Traefik을 사용하여 Docker Code-Server를 역프록시로 설치하여 HTTPS를 쉽게 관리하는 방법을 보여줍니다.
시작하기 전에 다음 사항을 확인하십시오:
첫 번째 단계는 Code-Server 컨테이너와 Traefik에 의해 사용될 도커 네트워크를 만드는 것이다.
docker network create code-server_network
다음 내용을 포함하는 code-server-compose.yml이라는 Docker Compose 파일을 생성합니다:
version: '3.8'
services:
code-server:
image: codercom/code-server
container_name: code-server
restart: always
networks:
- code-server_network
environment:
- PASSWORD=your_password_here
labels:
- "traefik.enable=true"
- "traefik.http.routers.code-server.rule=Host(`code-server.example.com`)"
- "traefik.http.routers.code-server.entrypoints=http"
- "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.code-server-secure.rule=Host(`code-server.example.com`)"
- "traefik.http.routers.code-server-secure.entrypoints=https"
- "traefik.http.routers.code-server-secure.tls=true"
- "traefik.http.routers.code-server-secure.tls.certresolver=letsencrypt"
volumes:
- ~/code:/home/coder/project
command: ["--auth", "password"]
이 Docker Compose 파일은 Code-Server 컨테이너를 실행하는 Code-server라는 단일 서비스를 정의합니다. code-server 서비스는 code-server_network network에 연결되어 있으며, Traefik 레이블은 서비스에 대한 라우팅 규칙을 정의합니다.
traefik.https.https.code-server 레이블은 Traefik에게 code-server.example.com 도메인에 대한 요청을 이 서비스로 라우팅하고 HTTP를 사용하도록 지시합니다. traefik.http.routers.code-server-secure 레이블은 동일한 라우팅 규칙을 정의하지만 Let's Encrypt 인증서와 함께 HTTPS를 사용합니다.
볼륨 섹션은 호스트 시스템의 디렉토리를 Code-Server 컨테이너의 /home/coder/project 디렉토리에 마운트 하여 컨테이너에서 코드에 액세스 할 수 있도록 합니다.
명령 섹션은 코드 서버 컨테이너가 암호 인증확인을 사용하도록 지정합니다.
다음 명령을 사용하여 Docker Compose를 사용하여 Code-Server 컨테이너 및 Traefik을 시작합니다:
docker-compose up -d
이 명령은 코드 서버 및 Traefik 서비스를 백그라운드에서 시작합니다.
컨테이너가 실행되면 웹 브라우저에서 https://code-server.example.com으로 이동하여 Code-Server 인터페이스에 액세스할 수 있습니다. code-server-compose.yml 파일에 지정한 암호를 입력하라는 메시지가 표시됩니다.
이 튜토리얼에서는 Docker를 사용하여 HTTPS로 Traefik 역프록시 뒤에 Docker Code-Server를 설정하는 방법을 배웠습니다. Traefik을 사용하면 HTTPS와 Let's Encrypt를 쉽게 관리할 수 있습니다