간단한 docker-compose.yml 파일 생성
이 단계에서는 간단한 docker-compose.yml 파일을 생성합니다. Docker Compose 는 멀티 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구입니다. Compose 를 사용하면 YAML 파일을 사용하여 애플리케이션의 서비스를 구성합니다. 그런 다음, 단일 명령어로 구성에서 모든 서비스를 생성하고 시작합니다.
docker-compose.yml 파일을 생성하기 전에 Docker Compose 를 설치해야 합니다. LabEx 환경에는 미리 설치되어 있지 않으므로 pip를 사용하여 설치합니다.
먼저, 패키지 목록을 업데이트하고 pip가 아직 설치되지 않은 경우 설치합니다.
sudo apt update
sudo apt install -y python3-pip
이제 pip를 사용하여 Docker Compose 를 설치할 수 있습니다.
pip install docker-compose
설치가 완료되면 Docker Compose 의 버전을 확인하여 설치를 확인할 수 있습니다.
docker-compose --version
docker-compose version 1.29.2, build 5becea4c와 유사한 출력을 볼 수 있습니다.
이제 Docker Compose 가 설치되었으므로 프로젝트 디렉토리를 생성하고 해당 디렉토리로 이동합니다. 이 디렉토리 안에 docker-compose.yml 파일을 생성합니다.
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
다음으로, nano 편집기를 사용하여 docker-compose.yml 파일을 생성합니다.
nano docker-compose.yml
nano 편집기 내에서 다음 내용을 붙여넣습니다. 이 docker-compose.yml 파일은 nginx 이미지를 사용하고 컨테이너의 포트 80 을 호스트 머신의 포트 8080 에 매핑하는 web이라는 단일 서비스를 정의합니다.
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "8080:80"
이 파일을 자세히 살펴보겠습니다.
version: '3.8'은 Compose 파일 형식 버전을 지정합니다.
services:는 애플리케이션을 구성하는 다양한 서비스를 정의합니다.
web:은 서비스의 이름입니다. 원하는 이름을 선택할 수 있습니다.
image: nginx:latest는 이 서비스에 사용할 Docker 이미지를 지정합니다. 이 경우, 공식 Nginx 이미지의 최신 버전을 사용합니다. 서비스 시작 시 이 이미지를 가져올 것입니다.
ports:는 호스트와 컨테이너 간의 포트를 매핑합니다.
- "8080:80"은 컨테이너 내부의 포트 80 (Nginx 가 기본적으로 실행되는 곳) 을 호스트 머신의 포트 8080 에 매핑합니다. 즉, 웹 브라우저에서 http://localhost:8080을 방문하거나 터미널에서 curl을 사용하여 Nginx 웹 서버에 액세스할 수 있습니다.
Ctrl + X, Y, Enter를 눌러 파일을 저장합니다.
cat 명령어를 사용하여 파일의 내용을 확인할 수 있습니다.
cat docker-compose.yml
방금 붙여넣은 YAML 내용을 볼 수 있습니다.