도커 컴포즈 실행

Pak Heonjun·2023년 6월 4일
0

도커 컴포즈 커맨드는?

도커 컴포즈는 docker-compose 명령어로 실행 하며, 자주 쓰는 커맨드는 up/down/stop 이 있다.

도커 컴포즈는 docker-compose 명령어를 사용한다. 자주 사용하는 커맨드는 up과 down 두 가지지만 가끔 stop도 사용 한다. up 커맨드 는 컴포즈 파일에 정의된 시스템을 생성 한다. -d, --scale 등의 옵션 사용이 가능하다. down 커맨드 는 생성된 컨테이너와 네트워크를 종료하고 삭제 한다. 이때 볼륨과 이미지는 삭제되지 않으며, 같이 삭제하려면 --rmi, -v, --volumes 옵션을 사용할 수 있다.

docker-compose -f 정의_파일_경로 up 옵션 # up 커맨드
docker-compose -f 정의_파일_경로 down 옵션 # down 커맨드
docker-compose -f 정의_파일_경로 stop 옵션 # stop 커맨드

도커 컴포즈 실습

[도커 컴포즈 파일 작성] 에서 만든 컴포즈 파일로 도커 컴포즈를 실행해보자.

① 컴포즈 파일 작성

앞에서 /home/jpark/com_folder에 docker-compose.yml 파일을 만들었다.

# docker-compose.yml 작성
version: "3"
services:
  mysql000ex11:
    image: mysql:5.7
    networks:
      - wordpress000net1
    volumes:
      - mysql000vol11:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: myrootpass
      MYSQL_DATABASE: wordpress000db
      MYSQL_USER: wordpress000kun
      MYSQL_PASSWORD: wkunpass
  wordpress000ex12:
    depends_on:
      - mysql000ex11
    image: wordpress
    networks:
      - wordpress000net1
    volumes:
      - wordpress000vol12:/var/www/html
    ports:
      - 8081:80
    restart: always
    environment:
      WORDPRESS_DB_HOST: mysql000ex11
      WORDPRESS_DB_NAME: wordpress000db
      WORDPRESS_DB_USER: wordpress000kun
      WORDPRESS_DB_PASSWORD: wkunpass
  
networks:
  wordpress000net1:

volumes:
  mysql000vol11:
  wordpress000vol12: 

② docker-compose up 커맨드로 시스템 실행

root@LAPTOP-3H85AI8N:/home/jpark/com_folder# docker-compose -f docker-compose.yml up -d
[+] Running 2/1
 ✔ Network com_folder_wordpress000net1    Created	0.9s[+] Running 3/3
 ✔ Network com_folder_wordpress000net1    Created	0.9s
...

docker-compose up 명령으로 컴포즈 파일을 실행하면 정의된 네트워크, 볼륨, 컨테이너가 생성된다.

③ 웹 브라우저에서 워드프레스 접속

웹 브라우저에서 http://localhost:8081 로 접속해보자. 다음 화면이 나타나면 제대로 시스템 실행이 된 것이다.

④ 컨테이너와 네트워크(+볼륨) 종료 및 삭제

root@LAPTOP-3H85AI8N:/home/jpark/com_folder# docker-compose -f docker-compose.yml down -v
[+] Running 1/1
[+] Running 1/2om_folder-wordpress000ex12-1  Removed	2.5s
[+] Running 1/2om_folder-wordpress000ex12-1  Removed	2.5s
...

docker-compose down 명령으로 컴포즈 파일을 실행하면 정의된 네트워크, 컨테이너를 종료 및 삭제한다. -v 옵션을 사용하면 볼륨도 같이 제거된다. 삭제 후 docker ps -a, docker network ls, docker volume ls 명령어로 잘 삭제되었는지 확인하자.

Tip. scale 옵션
도커 컴포즈로 실행한 컨테이너의 이름은 임의로 결정 된다. 생성 규칙은 폴더이름_컨테이너이름_번호 이다. 예를들어 위 실습에서는 comfolder mysql000ex11_1 로 생성된다. 따라서 도커 엔진을 통해 컨테이너를 다룰때는 docker ps로 이름을 확인해야한다. 만약 같은 컨테이너를 여러개 만들고 싶으면 --scale 옵션을 사용한다. 단, 여러 세트를 실행은 쿠버네티스를 사용하는 것이 편리하므로 자주 사용하진 않는다.

docker-compose -f 정의_파일_경로 up --scale 컨테이너_이름=수량

profile
more more

0개의 댓글