[Docker] Docker Compose를 이용하여 컨테이너 실행하기

예원·2022년 11월 15일
0

Docker

목록 보기
3/5

Docker Compose 란

일반적인 시스템은 단일 어플리케이션으로 구동되지 않는다.
여러개의 시스템으로 이루어져있다.

하나의 컨테이너가 하나의 애플리케이션을 담당한다고 하면 여러 개의 컨테이너가 필요하다.
여러개의 컨테이너를 한번에 실행하고 관리할 수 있도록 해주는 것이 도커컴포즈이다.

docker-compose 설치

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod를 통해서 실행이 가능하게 설정한다.

sudo chmod +x /usr/local/bin/docker-compose

제대로 설치되었는지 확인해본다.

docker-compose version

docker-compose.yml 작성

version: '3.1'

volumes:
       [사용할 볼륨]:
            external: true
            name: [볼륨 이름]

services:
  db:
    image: mysql:8.0.13
    restart: always
    command: --lower_case_table_names=1
    container_name: [컨테이너명]
    environment:
        - MYSQL_DATABASE=[디비명]
        - MYSQL_ROOT_PASSWORD=[비밀번호]
        - MYSQL_ROOT_HOST=%
        - TZ=Asia/Seoul
    command:
        - --character-set-server=utf8mb4
        - --collation-server=utf8mb4_unicode_ci
    volumes:
        - [사용할 볼륨]:/var/lib/mysql
    ports:
      - 3306:3306

여기서 사용한 명령어에 대해서는 이 글에서 확인할 수 있다.

mysql 컨테이너 생성

db 라는 볼륨을 하나 생성한다.

sudo docker volume create --name=[볼륨 이름]

파일에 명시한 내용으로 컨테이너를 생성하고 실행한다.

sudo docker-compose up -d

mysql 서버 접속

먼저 컨테이너에 내부에 접속한다.

sudo docker exec -it [컨테이너명] bash
  • it 는 interactive terminal를 의미한다.

그 후 mysql -u root -p 명령어로 mysql에 접속할 수 있다.


추후 볼 자료
도커 컴포즈(docker-compose)로 개발환경 구축해보기

reference
ubuntu20.04에서 docker-compose 설치하기
Ubuntu 20.04 에 Docker, Docker-Compose 설치하는 법
Docker + MySQL 원격 접속
docker-compose로volumes 설정

0개의 댓글