본문 바로가기
devops/docker

docker-compose 옵션 기본 명령어

by 아이티.파머 2021. 4. 29.
반응형

docker-compose 기본 명령어

-f

docker compose 는 기본 적으로 현재 폴더에 있는 docker-composer.yml 파일을 설정 파일로 사용한다. 다른 이름의 설정 파일을 사용 할경우 -f 으로 사용한다.

docker-compose -f docker-compose-anyfile.yml up

up

docker-compose 에 정의된 모든 서비스 컨테이너를 생성하고 실행 하는 옵션

  • -d : 백그라운드 모드
  • -build : 이미지 빌드
  • -t : 서비스 시작시간 , 타임 아웃 설정
docker-compose up

start(start / stop / pause / unpause / restart)

서비스가 정지된 컨테이너를 다시 시작하기 위한 커멘드 옵션

docker-compose start 명령어 뒤에 컨데이너 이름을 명시하면 특정 컨테이너만 다시 시작 할 수 있다.

docker-compose start

stop

실행중인 모든 컨데이너 혹은 특정 컨테이너를 중지 하기 위함

docker-compose stop 명령어 뒤에 컨데이너 이름을 명시하면 특정 컨테이너만 중지 할수 있다.

docker-compose stop mysql8_test

ps

docker compose 로 생성한 모든 컨테이너 목록 확인

# 모든 목록
docker-compose ps 
# 실행중인 목록
docker-compose ps -a  

$sudo docker-compose -f docker-compose-single-broker.yml ps

  Name                 Command               State                         Ports                       
-------------------------------------------------------------------------------------------------------
kafka       start-kafka.sh                   Up      0.0.0.0:9092->9092/tcp                            
zookeeper   /bin/sh -c /usr/sbin/sshd  ...   Up      0.0.0.0:2181->2181/tcp, 22/tcp, 2888/tcp, 3888/tcp

logs

docker-compose log 커맨드를 이용하여 특정 서비스 컨테이너의 로그를 확인 하고 자 할때 사용한다. -f 옵션으로 실시간으로도 확인 할 수 있다.

$ sudo docker-compose -f docker-compose-single-broker.yml logs -f kafka

kafka        | [2021-04-29 09:32:16,037] INFO [GroupMetadataManager brokerId=1001] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
kafka        | [2021-04-29 09:42:16,037] INFO [GroupMetadataManager brokerId=1001] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
kafka        | [2021-04-29 09:52:16,037] INFO [GroupMetadataManager brokerId=1001] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
kafka        | [2021-04-29 10:02:16,037] INFO [GroupMetadataManager brokerId=1001] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
kafka        | [2021-04-29 10:12:16,037] INFO [GroupMetadataManager brokerId=1001] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
kafka        | [2021-04-29 10:22:16,037] INFO [GroupMetadataManager brokerId=1001] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
kafka        | [2021-04-29 10:32:16,037] INFO [GroupMetadataManager brokerId=1001] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)

config

실제로 적용된 설정 파일을 확인 하고자 할경우

$ sudo docker-compose -f docker-compose-single-broker.yml config
networks:
  test: {}
services:
  kafka:
    container_name: kafka
    depends_on:
      zookeeper:
        condition: service_started
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://14.34.12.92:9092
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_CREATE_TOPICS: media-report-target:1:1
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    image: wurstmeister/kafka:2.12-2.0.1
    networks:
      test: null
    ports:
    - 9092:9092/tcp
    volumes:
    - /var/run/docker.sock:/var/run/docker.sock:rw
  zookeeper:
    container_name: zookeeper
    image: wurstmeister/zookeeper:3.4.6
    networks:
      test: null
    ports:
    - 2181:2181/tcp
version: '2'

run

docker-compose up 명령어를 이용하여 생성, 실행된 컨테이너에서 임의의 명령을 실행하기 위해 사용된다.

# docker-compose run [서비스명] [명령]
docker-compose run redis /bin/bash

docker-compose port

서비스 프라이빗 포트 번호의 설정을 확인할 수 있습니다.

# docker-compose port [서비스명] [프라이빗 포트 번호]
docker-compose port nginx 80

docker-compose down

네트워크 정보, 볼륨, 컨테이너들을 일괄 정지 및 삭제 처리 합니다.

docker-compose down

docker-compose down --rmi all 명령을 사용하면 모든 이미지까지 삭제 한다.

반응형

'devops > docker' 카테고리의 다른 글

docker-compose mysql 설정 및 sql init  (0) 2022.01.14
docker-compose jenkins  (0) 2022.01.14
Docker Redis  (0) 2020.01.10
docker-compose 예제  (0) 2019.06.21
Docker-Compose 설명  (0) 2019.06.21