간단한 docker-compose.yml 파일 생성
이 단계에서는 기본적인 docker-compose.yml 파일을 생성합니다. 이 파일은 Docker Compose 의 핵심으로, 애플리케이션에 대한 서비스, 네트워크 및 볼륨을 정의합니다. 시작하기 전에, 이 환경에는 Docker Compose 가 미리 설치되어 있지 않으므로 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 --version
Docker Compose 가 올바르게 설치되었음을 확인하는 버전 정보가 콘솔에 출력되어야 합니다.
다음으로, 이 랩의 작업 디렉토리인 ~/project 디렉토리로 이동합니다.
cd ~/project
이제 이 디렉토리에 docker-compose.yml이라는 파일을 생성합니다. 이 파일은 nginx 이미지를 사용하여 간단한 서비스를 정의합니다. nano 편집기를 사용하여 파일을 생성하고 편집합니다.
nano docker-compose.yml
nano 편집기 내에서 다음 내용을 붙여넣습니다.
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
이 docker-compose.yml 파일을 자세히 살펴보겠습니다.
version: '3.8'은 Docker Compose 파일 형식 버전을 지정합니다.
services:는 애플리케이션을 구성하는 다양한 서비스를 정의합니다.
web:은 서비스의 이름입니다. 서비스의 이름을 원하는 대로 지정할 수 있습니다.
image: nginx:latest는 이 서비스에 사용할 Docker 이미지를 지정합니다. 이 경우, 공식 Nginx 이미지의 최신 버전을 사용하고 있습니다. 이 이미지가 로컬에 없을 수 있으므로, Docker Compose 는 서비스를 시작할 때 Docker Hub 에서 자동으로 이미지를 가져옵니다.
ports:는 호스트 머신과 컨테이너 간의 포트를 매핑합니다. "80:80"은 호스트의 포트 80 을 컨테이너의 포트 80 에 매핑합니다. 즉, 호스트 머신에서 http://localhost(또는 VM 의 IP 주소) 를 방문하여 컨테이너 내에서 실행되는 Nginx 웹 서버에 액세스할 수 있습니다.
내용을 붙여넣은 후, Ctrl + O를 눌러 파일을 저장한 다음, Enter를 눌러 파일 이름을 확인하고, 마지막으로 Ctrl + X를 눌러 nano 편집기를 종료합니다.
이제 첫 번째 docker-compose.yml 파일을 성공적으로 생성했습니다. 다음 단계에서는 이 파일을 사용하여 Nginx 서비스를 시작합니다.