Zeno ZENO

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의 역할

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 정리

docker-compose.yml = Docker Compose 설정 파일

services = 실행할 컨테이너 목록

app = 서비스 이름

image = 사용할 이미지

command = 컨테이너 실행 시 실행할 명령어

docker compose up = Compose 실행

docker compose down = Compose 정리

이번 글에서는 처음으로 Docker Compose를 실행했다.

다음 Part에서는 Compose로 여러 컨테이너를 동시에 실행하는 방법을 알아본다.

AD

제휴 광고

일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.

AD

'Docker' 카테고리의 다른 글

전체보기