docker-compose 사용해보기

신석진( Seokjin Shin)·2021년 7월 31일
0

docker-compose를 사용하며 썼던 명령어와 yml 파일 작성에 쓰인 것들을 기록하고자 한다.

명령어

  • up: container를 만들고 시작한다. -d 옵션을 사용하여 background에서 실행 할 수 있다.
  • stop: services를 멈춘다.
  • rm: 멈춘 container들을 제거한다.

.yml

  • services: container화 할 서비스를 설정한다.
    • image: container의 image를 기존의 것을 쓰거나 pull 할 수 있다.
    • build: dockerfile을 기준으로 image를 build 한다.
    • port: docker port forward를 설정한다.
    • networks: container간 통신을 위한 network를 설정한다.
    • volumes: 로컬에 컨테이너와 연결할 저장소를 생성한다.
  • volumes: 아래의 파일 예시와 같이 작성하면 default 값 설정으로 해당 이름의 volume을 생성한다.
  • networks: 아래의 파일 예시와 같이 작성하면 default 값 설정으로 해당 이름의 network를 생성한다.

docker-compose.yml 예시

version: '3'

services:
    zookeeper:
        image: zookeeper:3.5.9
        restart: always
        container_name: zookeeper
        ports:
            - "2181:2181"
        networks: 
            - service-network
    kafka:
        image: wurstmeister/kafka
        restart: always
        container_name: kafka
        depends_on:
            - zookeeper
        ports:
            - "9092:9092"
        environment: 
            KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
            KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://domainname:port
            KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
        networks:
            - service-network
    mongodb:
        image: mongo
        restart: always
        ports:
            - 27017:27017
        volumes: 
            - mongodb-volume:/var/lib/mongodb/data
volumes: 
    mongodb-volume:

networks: 
    service-network:

0개의 댓글