[Docker] Compose yml 작성법

제이브로·2024년 2월 26일
0

Docker

목록 보기
42/48
post-thumbnail

1. docker compose

docker compose yml 혹은 yaml 파일 작성법

2. version

compose 버전. 버전에 따라 지원 문법이 다르다.

  • example : version: "2"

3. commands

3.1 services

컴포즈를 이용해서 실행할 컨테이너 옵션을 정의

  • example
service:
  webserver:
    image: nginx
  db:
    image: redis

3.2 build

컨테이너 빌드

  • example
webapp:
  build: .

3.3 image

compose를 통해 실행할 이미지를 지정

  • example
webapp:
  image: centons:7

3.4 command

컨테이너에서 실행될 명령어 지정

  • example
app:
  image: node:12-alpine
  command: sh -c "yarn install && yarn run dev"

3.5 port

컨테이너가 공개하는 포트를 나영

  • example
webapp:
  image: httpd:latest
  port:
    - 80
    - 8443:443

다른 컨테이너와 연게할 때 연계할 컨테이너 지정

  • example
webserver:
  image: wordpress:latest
  link:
    db:mysql

3.7 expose

포트를 링크로 연게된 컨테이너에게만 공개할 포트

  • example
expose:
  - 3306
  - 33060

3.8 volumes

컨테이너에 볼륨을 마운트

  • example
webapp:
  image: httpd
  volumes:
    - wp_data:/var/www/html

3.9 environment

컨테이너에 적용할 환경변수를 정의

  • example
database:
  image: mysql:5.7
  environment:
    MYSQL_ROOT_PASSWORD: pass

3.10 restart

컨테이너가 종료될 때 적용할 restart 정책

OptionsDecriptions
no재시작 되지 않음
always컨테이너를 수동으로 끄기 전까지 항상 재시작
on-failure오류가 있을 시에 재시작
  • example
restart: always

3.1 depends_on

컨테이너 간의 종속성을 정의. 정의한 컨테이너가 먼저 동작되어야 한다

  • example
services:
  web:
    image: wordpress:latest
    depends_on:
      - db
  db:
    image: mysql

4. References

  1. Docker docs compose file
  2. docker github
profile
기록하지 않으면 기록되지 않는다.

0개의 댓글