hotamul의 개발 이야기

[Docker] docker-compose.yml 본문

Dev./Docker

[Docker] docker-compose.yml

hotamul 2022. 6. 25. 22:09

공식 문서 : https://docs.docker.com/compose/compose-file

 

Compose specification

 

docs.docker.com

기본 구조

version: "3.9"

services:
  app:
    build:
      context: .
    ports:
      - "8000:8000"
    volumes:
      - ./app:/app
    command: >
      sh -c "python manage.py runserver 0.0.0.0:8000"

build

build 항목은 해당 서비스 이미지를 빌드하기 위한 Dockerfile이 위치하는 경로를 지정하기 위해 사용한다.

docker-compose.yml 파일과 동일한 디렉토리에 위치한 경우 위와 같이 context: .으로 표시하면 된다.

특정 경로의 파일로 빌드하거나 인자를 넘길 경우 아래와 같이 작성한다.

...
services:
  app:
    build:
      context: ./docker
      dockerfile: Dockerfile-example
...

ports

ports 항목은 호스트(로컬)와 컨테이너간 포트를 매핑시켜주는데 사용된다. 호스트에서 8000포트 - 컨테이너에서 8000 포트

volumes

volumes 항목은 호스트에서 컨테이너로 마운트할 경우 사용한다. 호스트에서 ./app을 컨테이너 ./app으로 마운트

command

default command 설정 부분이다.

'Dev. > Docker' 카테고리의 다른 글

[Docker] What is defined in the Dockerfile?  (0) 2022.06.25
[Docker] 서버에서 root user 사용하지 않는 이유  (0) 2022.06.25
[Docker] Why use Docker?  (0) 2022.06.25
Comments