Docker Compose 테스트
이제 Docker Compose 를 성공적으로 설치했으므로 제대로 작동하는지 테스트하기 위해 간단한 프로젝트를 만들어 보겠습니다.
프로젝트 디렉토리 생성
먼저 테스트 프로젝트를 위한 디렉토리를 만들어 보겠습니다.
mkdir -p ~/project/docker-compose-test
cd ~/project/docker-compose-test
Docker Compose 구성 파일 생성
이제 nano 편집기를 사용하여 간단한 docker-compose.yml 파일을 만들어 보겠습니다.
nano docker-compose.yml
다음 내용을 파일에 추가합니다.
version: "3"
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
이 구성은 Nginx 이미지를 사용하여 간단한 웹 서버를 정의합니다. 호스트의 포트 8080 을 컨테이너의 포트 80 에 매핑하고 로컬 디렉토리를 마운트하여 HTML 콘텐츠를 제공합니다.
Ctrl+O를 누른 다음 Enter를 눌러 파일을 저장하고 Ctrl+X로 nano 를 종료합니다.
HTML 콘텐츠 생성
HTML 콘텐츠를 위한 디렉토리와 간단한 HTML 파일을 만들어 보겠습니다.
mkdir -p html
nano html/index.html
HTML 파일에 다음 내용을 추가합니다.
<!DOCTYPE html>
<html>
<head>
<title>Docker Compose Test</title>
</head>
<body>
<h1>Hello from Docker Compose!</h1>
<p>If you can see this, your Docker Compose setup is working correctly.</p>
</body>
</html>
파일을 저장하고 nano 를 종료합니다.
Docker Compose 애플리케이션 시작
이제 Docker Compose 애플리케이션을 시작해 보겠습니다.
docker compose up -d
다음과 유사한 출력이 표시되어야 합니다.
[+] Running 2/2
⠿ Network docker-compose-test_default Created
⠿ Container docker-compose-test-web-1 Started
이는 Docker Compose 가 네트워크를 생성하고 Nginx 컨테이너를 시작했음을 나타냅니다.
애플리케이션이 실행 중인지 확인
컨테이너가 실행 중인지 확인해 보겠습니다.
docker compose ps
다음과 유사한 출력이 표시되어야 합니다.
NAME COMMAND SERVICE STATUS PORTS
docker-compose-test-web-1 "/docker-entrypoint.…" web running 0.0.0.0:8080->80/tcp
이제 웹 서버에 요청을 보내 콘텐츠를 제공하는지 확인해 보겠습니다.
curl http://localhost:8080
생성한 HTML 콘텐츠가 표시되어야 합니다.
<!DOCTYPE html>
<html>
<head>
<title>Docker Compose Test</title>
</head>
<body>
<h1>Hello from Docker Compose!</h1>
<p>If you can see this, your Docker Compose setup is working correctly.</p>
</body>
</html>
훌륭합니다! Docker Compose 애플리케이션을 성공적으로 생성하고 실행했습니다.
Docker Compose 애플리케이션 중지
Docker Compose 가 생성한 컨테이너, 네트워크 및 볼륨을 중지하고 제거하려면 다음을 실행합니다.
docker compose down
다음과 유사한 출력이 표시되어야 합니다.
[+] Running 2/2
⠿ Container docker-compose-test-web-1 Removed
⠿ Network docker-compose-test_default Removed
이는 Docker Compose 가 생성한 리소스를 정리했음을 확인합니다.