간단한 docker-compose.yml 파일 준비
이 단계에서는 간단한 docker-compose.yml 파일을 준비합니다. 시작하기 전에 Docker Compose 가 무엇인지 이해해 봅시다. Docker Compose 는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구입니다. Compose 를 사용하면 YAML 파일을 사용하여 애플리케이션의 서비스를 구성합니다. 그런 다음, 단일 명령으로 구성에서 모든 서비스를 생성하고 시작합니다.
Docker Compose 는 LabEx 환경에 미리 설치되어 있지 않으므로 먼저 설치해야 합니다. Docker Compose 바이너리를 다운로드하여 실행 가능하게 만들 것입니다.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
이제 Docker Compose 가 설치되었으므로 ~/project 디렉토리에 간단한 docker-compose.yml 파일을 생성해 보겠습니다. 이 파일은 ubuntu 이미지를 사용하고 단순히 sleep infinity 명령을 실행하여 컨테이너를 계속 실행하는 단일 서비스를 정의합니다.
nano 편집기를 사용하여 파일을 생성하고 편집합니다.
nano ~/project/docker-compose.yml
nano 편집기에서 다음 내용을 붙여넣습니다.
version: "3.8"
services:
ubuntu_service:
image: ubuntu
command: sleep infinity
이 docker-compose.yml 파일을 자세히 살펴보겠습니다.
version: '3.8'은 Compose 파일 형식 버전을 지정합니다.
services:는 애플리케이션의 서비스를 정의합니다.
ubuntu_service:는 서비스의 이름입니다. 원하는 이름을 선택할 수 있습니다.
image: ubuntu는 이 서비스에 사용할 Docker 이미지를 지정합니다. 이 경우 공식 ubuntu 이미지를 사용합니다. 이미지가 로컬에 없을 수 있으므로 Docker Compose 는 필요한 경우 자동으로 이미지를 가져옵니다.
command: sleep infinity는 컨테이너가 시작될 때 실행할 명령을 지정합니다. sleep infinity는 컨테이너를 무한정 실행 상태로 유지하는 간단한 명령입니다.
내용을 붙여넣은 후 Ctrl + X를 누르고, 확인을 위해 Y를 누른 다음, Enter를 눌러 기본 파일 이름 docker-compose.yml로 파일을 저장합니다.
ubuntu 이미지를 사용할 수 있도록 하기 위해 docker pull 명령을 사용하여 수동으로 가져오겠습니다. Docker Compose 로 서비스를 시작하기 전에 이미지가 준비되었는지 확인하는 것이 좋습니다.
docker pull ubuntu
ubuntu 이미지를 가져오는 것을 나타내는 출력을 볼 수 있습니다.