간단한 docker-compose.yml 파일 생성
이 단계에서는 간단한 docker-compose.yml 파일을 생성합니다. 시작하기 전에 Docker Compose 를 설치해야 합니다. Docker Compose 는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구입니다. Compose 를 사용하면 YAML 파일을 사용하여 애플리케이션의 서비스를 구성합니다. 그런 다음, 단일 명령으로 구성에서 모든 서비스를 생성하고 시작합니다.
먼저 Docker Compose 를 설치해 보겠습니다. 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 의 버전을 확인하여 설치를 확인할 수 있습니다.
docker-compose --version
Docker Compose version v2.20.2와 유사한 출력을 볼 수 있습니다.
이제 프로젝트 디렉토리를 생성하고 해당 디렉토리로 이동해 보겠습니다.
mkdir my-docker-app
cd my-docker-app
my-docker-app 디렉토리 내에서 docker-compose.yml이라는 파일을 생성합니다. 이 파일은 애플리케이션의 서비스를 정의합니다. nano 편집기를 사용하여 이 파일을 생성하고 편집합니다.
nano docker-compose.yml
nano 편집기에서 다음 내용을 붙여넣습니다. 이 docker-compose.yml 파일은 nginx:latest 이미지를 사용하는 web이라는 단일 서비스를 정의합니다.
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
이 파일을 자세히 살펴보겠습니다.
version: '3.8'은 Docker Compose 파일 형식 버전을 지정합니다.
services:는 애플리케이션을 구성하는 서비스를 정의합니다.
web:은 서비스의 이름입니다.
image: nginx:latest는 이 서비스에 사용할 Docker 이미지를 지정합니다. 이 경우, 최신 버전의 Nginx 이미지를 사용하고 있습니다.
ports:는 호스트와 컨테이너 간의 포트를 매핑합니다. "80:80"은 호스트의 포트 80 을 컨테이너의 포트 80 에 매핑합니다.
내용을 붙여넣은 후, Ctrl + X, Y, 마지막으로 Enter를 눌러 파일을 저장합니다.
서비스를 시작하기 전에, nginx:latest 이미지가 로컬에서 사용 가능한지 확인해야 합니다. 그렇지 않은 경우, Docker Compose 는 서비스를 시작할 때 자동으로 이미지를 가져옵니다. 그러나 docker pull 명령을 사용하여 수동으로 이미지를 가져올 수도 있습니다.
docker pull nginx:latest
이 명령은 Docker Hub 에서 nginx:latest 이미지를 다운로드합니다.