Part 11. Docker Compose 첫 실행하기
docker-compose.yml 구조를 이해했다면 이제 직접 Docker Compose를 실행해볼 차례다. 이번 글에서는 Ubuntu 컨테이너를 Compose로 실행하고, docker compose up과 docker compose down 명령어의 의미를 실습으로 확인한다.
Part 11. Docker Compose 첫 실행하기
1. Part 10에서 배운 것
Part 10에서는 docker-compose.yml 파일 구조를 정리했다.
services:
app:
image: ubuntu
Docker Compose는 이 파일을 읽고 컨테이너를 실행한다.
이번 Part에서는 실제로 docker-compose.yml 파일을 작성하고 Compose로 컨테이너를 실행해본다.
2. Docker Compose의 역할
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
Dockerfile은 이미지를 만들기 위한 파일이다.
Docker Compose는 컨테이너를 실행하고 관리하기 위한 파일이다.
Dockerfile
↓
Image 생성
docker-compose.yml
↓
Container 실행 및 관리
즉 역할이 다르다.
3. 이번 실습 목표
이번 실습에서는 Ubuntu 이미지를 사용해 간단한 컨테이너를 실행한다.
컨테이너가 실행되면 Hello Compose 문장을 출력하도록 설정한다.
docker-compose.yml 작성
↓
docker compose up 실행
↓
Hello Compose 출력
↓
docker compose down으로 정리
4. docker-compose.yml 파일 생성
실습 폴더에서 docker-compose.yml 파일을 생성한다.
nano docker-compose.yml
nano는 터미널에서 사용하는 간단한 텍스트 편집기다.
docker-compose.yml은 Docker Compose 설정 파일이다.
5. docker-compose.yml 내용
services:
app:
image: ubuntu
command: echo "Hello Compose"
이 파일은 app이라는 컨테이너를 하나 실행한다.
6. services란?
services:
services는 Compose에서 실행할 컨테이너 목록이다.
Compose는 services 아래에 정의된 항목을 컨테이너로 실행한다.
7. app이란?
app:
app은 서비스 이름이다.
서비스 이름은 직접 정할 수 있다.
여기서는 Ubuntu 컨테이너 하나를 app이라는 이름의 서비스로 정의했다.
8. image란?
image: ubuntu
image는 사용할 Docker 이미지를 의미한다.
여기서는 Docker Hub에 있는 ubuntu 이미지를 사용한다.
9. command란?
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
도킷 - 채팅, 일본친구, 일본여자, 외국친구
command: echo "Hello Compose"
command는 컨테이너가 실행될 때 실행할 명령어다.
여기서는 echo 명령어로 Hello Compose 문장을 출력한다.
10. docker compose up
docker compose up
docker compose up은 docker-compose.yml 파일을 읽고 서비스를 실행한다.
이번 실습에서는 app 서비스 하나가 실행된다.
docker-compose.yml
↓
services 확인
↓
app 실행
↓
ubuntu 이미지 사용
↓
echo "Hello Compose" 실행
11. 실행 결과
정상이라면 다음 문장이 출력된다.
Hello Compose
이 컨테이너는 문장을 출력한 뒤 바로 종료된다.
hello-world 컨테이너와 비슷하게 계속 실행되는 서버가 아니기 때문이다.
12. docker compose down
docker compose down
docker compose down은 Compose로 만든 컨테이너와 네트워크를 정리한다.
Compose 실습 후 정리할 때 자주 사용한다.
13. docker run과 docker compose up 차이
docker run
↓
명령어 한 줄로 컨테이너 직접 실행
docker compose up
↓
docker-compose.yml 설정 파일을 읽고 실행
컨테이너가 하나일 때는 docker run으로도 충분하다.
하지만 컨테이너가 여러 개가 되면 Compose가 훨씬 관리하기 쉽다.
14. 포트는 이번 실습에서 사용하지 않는다
이번 실습에서는 웹 서버를 실행하지 않는다.
단순히 Hello Compose 문장만 출력한다.
그래서 ports 설정은 사용하지 않는다.
ports는 브라우저나 외부 프로그램에서 컨테이너 안의 서버로 접속해야 할 때 사용한다.
ports:
- "8080:80"
의미는 다음과 같다.
내 PC의 8080 포트
↓
컨테이너의 80 포트
15. Part 11 정리
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
docker-compose.yml = Docker Compose 설정 파일
services = 실행할 컨테이너 목록
app = 서비스 이름
image = 사용할 이미지
command = 컨테이너 실행 시 실행할 명령어
docker compose up = Compose 실행
docker compose down = Compose 정리
이번 글에서는 처음으로 Docker Compose를 실행했다.
다음 Part에서는 Compose로 여러 컨테이너를 동시에 실행하는 방법을 알아본다.
AD
제휴 광고
일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.
AD









