Home [Docker]Docker compose
Post
Cancel

[Docker]Docker compose

Docker Compose

도커 컨테이너 여러 개를 유기적으로 구축

1
2
# docker-compose.yml로 구축
docker compose up 

docker-compose.yml 작성법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
version: "3.9"
services:

  my_redis:   # container 이름을 my_redis로 설정
    image: redis:alpine
    ports:
      - "6379"  # host:6379를 my_redis:6379로 포트포워딩
    networks:
      - frontend    # frontend 네트워크에 등록
    deploy: # my_redis의 설정 값
      replicas: 2
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure

  my_database:
    build: ./database   # Dockerfile이 있는 위치
    volumes:
      - db-data:/var/lib/postgresql/data
    ports:
      - "3306:3306" # host:3306을 my_database:3306로 포트포워딩
    networks:
      - backend # backend 네트워크에 등록

  vote:
    image: dockersamples/examplevotingapp_vote:before
    ports:
      - "5000:80"   # host:5000을 vote:80으로 포트포워딩
    networks:
      - frontend    # frontend 네트워크에 등록
    depends_on:
      - my_redis    # redis 생성 후 vote 생성
    deploy: #vote의 설정값
      replicas: 2
      update_config:
        parallelism: 2
      restart_policy:
        condition: on-failure
  
  ...   # 이러한 형식으로 계속 작성

networks:
  frontend: # frontend 네트워크 설정
  backend:  # backend 네트워크 설정

volumes:
  db-data:  # 컨테이너 설정에서 사용할 변수

유의사항

  • Dockerfile을 build하고 docker-compose를 build하는 형식으로 만들면 오류가 날 때도 있음
This post is licensed under CC BY 4.0 by the author.