Docker 명령어

docker 명령어

  • 실행중인 도커 컨테이너의 리스트를 보는 명령어

    docker ps

  • 컨테이너 생성 및 실행

    docker-compose up

docker-compose.yml

version: '3' # 버전 지정
services: # 컨테이너 설정
  db:
    image: mysql:latest # 컨테이너에서 사용하는 base image 지정
    container_name: inplace-mysql # 컨테이너명 설정
    restart: always # 컨테이너 다운 시 재시작하라는 명령어
    ports: # 접근 포트 설정 (컨테이너 외부:컨테이너 내부), -p 옵션과 동일
      - '3306:3306'
    environment: # 컨테이너 안의 환경변수 설정
      MYSQL_ROOT_PASSWORD: '${MYSQL_ROOT_PASSWORD}'
      MYSQL_DATABASE: '${MYSQL_DATABASE}'
      MYSQL_HOST_AUTH_METHOD: 'trust'
    volumes: # 볼륨 설정
      # - ./data:/var/lib/mysql/data
      - ./data/mysql/:/var/lib/mysql
항목
설명

version

Docker Compose 파일의 버전을 나타냅니다. 현재는 '3'이 최신 버전입니다.

services

서비스 섹션에는 컨테이너를 정의하는 데 필요한 정보가 포함됩니다.

db

서비스의 이름입니다. 이 이름을 사용하여 컨테이너를 참조할 수 있습니다.

image

사용할 Docker 이미지의 이름과 태그를 나타냅니다. 이 경우, 'mysql:latest' 이미지가 사용됩니다.

container_name

컨테이너의 이름을 설정합니다. 'inplace-mysql'이라는 이름으로 컨테이너를 생성합니다.

restart

컨테이너가 비정상적으로 종료되었을 때 자동으로 재시작할지 여부를 나타냅니다. 이 경우, 항상 자동으로 재시작됩니다.

ports

컨테이너 내부의 포트와 호스트의 포트 간의 매핑을 설정합니다. 이 경우, 3306번 포트를 호스트의 3306번 포트로 매핑합니다.

environment

컨테이너 내부에서 사용할 환경 변수를 설정합니다. MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, MYSQL_HOST_AUTH_METHOD 변수가 설정됩니다.

MYSQL_ROOT_PASSWORD

MySQL root 사용자의 비밀번호를 설정합니다. 환경 변수로 설정되어 있으므로 컨테이너 내부에서 접근할 수 있습니다.

MYSQL_DATABASE

MySQL 데이터베이스의 이름을 설정합니다. 환경 변수로 설정되어 있으므로 컨테이너 내부에서 접근할 수 있습니다.

MYSQL_HOST_AUTH_METHOD

MySQL 호스트 인증 방법을 설정합니다. 'trust'로 설정되어 있으므로, 모든 호스트에서 컨테이너에 접근할 수 있습니다.

volumes

호스트와 컨테이너 간 파일을 공유하기 위한 볼륨 매핑을 설정합니다. 이 경우, 호스트의 './data/mysql/' 디렉토리와 컨테이너의 '/var/lib/mysql' 디렉토리를 매핑합니다.

Last updated