리눅스 Linux

[Linux] 도커 컴포즈 (Docker Compose) 기초 개념과 설치부터 실행까지

sseozytank 2024. 4. 9.

저번 글을 통해 Docker 에 대해서 알아봤다.나는 개발자가 아니기 때문에 요 포스팅을 끝으로 도커는 마무리하려고 한다. 

 

[Linux] 뉴비를 위한 Docker 기초 개념 및 명령어, 설치부터 예제까지

Docker를 공부하면서 헷갈리거나, 어려웠던 부분을 열심히 이해해서 조금 더 쉽게 작성하려고 노력했다. 해당 글은 개념 및 실행 관련 예제가 많다보니, Docker를 만들어야하는 목적의 사람에겐 적

sseozytank.tistory.com

 

Docker Compose 

 

 

도커 컴포즈란? 

여러 개의 컨테이너를 하나의 서비스로 정의하고 구성해 하나의 묶음으로 관리할 수 있는 하나의 애플리케이션을 만드는 것. 예를 들어, 우리가 어플 하나를 실행하고 싶은데 컴포즈가 없다면  DB, 웹서버 등 여러개를 실행해야하는 번거로움이 있다. Docker Compose를 사용하면 이것들을 한번에 실행하고 관리할 수 있게 해줄 수 있음! 

 

 

컴포즈 파일 yaml

여러 컨테이너의 정보를 담은 yml 파일을 통해 컴포즈를 할 수 있다. 

각각의 서비스에 대한 구성을 지정하고, 서비스 간의 관게를 설정하며 볼륨 및 네트워크와 같은 공유 리소스를 정의할 수 읬음. 컴포즈 파일을 작성하는 방법에 대해서는 참고 블로그 링크로 대신한다. 

 

[Docker] 도커 컴포즈(Docker compose) - 개념 정리 및 사용법

이번 포스트에서는 도커 컴포즈에 대해 정리하겠습니다. 도커 컴포즈란? 도커 컴포즈는 단일 서버에서 여러개의 컨테이너를 하나의 서비스로 정의해 컨테이너의 묶음으로 관리할 수 있는 작업

seosh817.tistory.com

 

Docker Compose 사용법 

1.설치 

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

 

2.실행 권한 부여 

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

 

3.설치 확인 

docker-compose --version


4.도커 컴포즈 파일 작성 

아래 깃허브에서 참고하여 컴포즈 파일을 하나 만들어 준다.

 

docker-compose.md

GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

vi docker-compose.yml
version: "3.7"

services:
  db:
    image: mysql:5.7
    volumes:
      - ./db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress_user
      MYSQL_PASSWORD: 123456
  
  app:
    depends_on: 
      - db
    image: wordpress:latest
    volumes:
      - ./app_data:/var/www/html
    ports:
      - "8080:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wordpress_user
      WORDPRESS_DB_PASSWORD: 123456

 

 

5.도커 컴포즈 실행 

sudo docker-compose up

#background 
sudo docker-compose up -d

 

이후, localhost:8080에 접속하면 워드프레스가 열리는 것을 확인할 수 있다. 웹서버, 디비를 하나하나 실행시키지 않고도 compose up 으로 끝낼 수 있음! 

 

6.도커 컴포즈 끝내기 

sudo docker-compose down

 

 

*이 외 Docker-compose 관련 명령어 

 

로그 확인

docker-compose logs

#특정 서비스 로그 확인
docker-compose logs [서비스명]

 

컨테이너 실행 상태 확인

sudo docker-compose ps

 

댓글