상세 컨텐츠

본문 제목

Docker - 도커 컴포즈 사용하기 (2)

Development/Docker

by thisisnew 2022. 11. 23. 00:06

본문

반응형

 

11-5. docker-compose.yml

 

https://thisisnew-storage.tistory.com/99

 

Docker - 도커 컴포즈 사용하기 (1)

11-3. 도커 컴포즈 설치 https://thisisnew-storage.tistory.com/69 Docker - 도커 사용 준비 (도커 데스크톱 이용) 3. 도커의 기본적인 사용법 3-1. 도커의 사용 조건 https://thisisnew-storage.tistory.com/68 Docker - 도커의

thisisnew-storage.tistory.com

이전 글에서 도커 컴포즈를 사용하기 위해서는 docker-compose.yml이라는 이름의 파일이 필요하다고 말씀드렸습니다.

 

docker-compose.yml이 하는 일 역시 터미널에서 명령어를 이용하여 해오던 일과 동일합니다.

컨테이너 생성 또는 이미지 생성 같은 것들 말이죠.

 

https://docs.docker.com/compose/compose-file/

 

Compose specification

 

docs.docker.com

위의 문서를 참고하여 docker-compose.yml 파일을 작성하시면 되는데요.

 

대략적인 설명을 드린다면 다음과 같습니다.

  1. 가장 먼저 컴포즈 버전을 명시하고, 그 뒤로 services, networks, volumes를 차례대로 기재
  2. 상하 관계는 들여 쓰기로 표시
  3. 여러 항목을 기재하려면 앞에 '-'를 기재
  4. 주석은 #을 사용
  5. 문자열은 작은따옴표 혹은 큰 따옴표로 표시

아래는 몇몇 항목들에 대한 설명인데요.

이것들은 극히 일부이고, 이 외에도 무척 많기 때문에 반드시 문서를 보시는 게 좋겠습니다.

services 컨테이너를 정의
networks 네트워크를 정의
volumes 볼륨을 정의
image 이미지 지정
ports 포트 설정
environment 환경변수 설정
depends_on 다른 서비스에 대한 의존 관계 정의
restart 컨테이너 종료시 재시작 여부

 

 

11-6. 도커 컴포즈 실행하기

 

이번에는 도커 컴포즈를 직접 실행해보도록 하죠.

 

우선 docker-compose.yml을 작성해볼게요.

 

저는 docker_compose_practice라는 폴더를 생성하고 거기에 docker-compose.yml을 만들어서 사용하겠습니다.

 

version: '3'
services:
  nginx_ex:
    image: nginx
    ports:
      - 8080:80
    restart: always

스크립트는 위와 같이 간단하게 작성해주시고요.

보시다시피, nginx 컨테이너를 도커 컴포즈로 생성해볼 겁니다.

 

이제 커맨드로 도커 컴포즈를 실행해봐야겠죠?

도커 컴포즈 커맨드에 대해서는 아래의 문서를 참고하시면 됩니다.

 

https://docs.docker.com/engine/reference/commandline/compose/

 

docker compose

docker compose: You can use compose subcommand, `docker compose [-f ...] [options] [COMMAND] [ARGS...]`, to build and manage multiple services in Docker containers. ### Use `-f` to specify name and...

docs.docker.com

 

 

도커 컴포즈를 실행하는 명령어는 아래와 같은데요.

docker compose -f docker-compose.yml -f docker-compose.admin.yml run backup_db

이것을 참고하여 다음과 같이 입력해줍니다.

docker compose -f C:\docker_practice\docker_compose_practice\docker-compose.yml up -d

 

제대로 실행됐는지 볼까요?

http://localhost:8080/를 브라우저 혹은 터미널에 호출해보겠습니다.

네. 잘 실행되네요.

 

그럼 도커 컴포즈를 종료하도록 하겠습니다.

docker compose -f C:\docker_practice\docker_compose_practice\docker-compose.yml down

 

이렇게 도커 컴포즈를 간단하게 알아보고 실습해봤습니다.

반응형

관련글 더보기

댓글 영역