1. 도커 컴포즈를 사용하는 이유
도커 컴포즈(Docker Copmose)란?
여러 컨테이너를 하나의 묶음으로 관리할 수 있게 도와주는 툴이다
(1) 여러개의 컨테이너를 하나의 환경에서 실행하고 관리하니 편하고 좋기때문에 사용
(2) 컨테이너를 복잡한 명령어로 실행시키던걸 간소화 시킬 수 있다.
이전에 Mysql 생성,실행,호스트-컨테이너 포트 연결,볼륨 연결할때 명령어보면 복잡한데 이거를
docker compose up 명령어로 간단하게 해결 가능하다
$ docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /Users/jaeseong/Documents/Develop/docker-mysql/mysql_data:/var/lib/mysql -d mysql
2. 도커 컴포즈로 Nginx 설치및 실행 해보기
compose.yml 이라는 파일 생성후 거기에 컴포즈 코드를 적는다.
services는 하나의 컨테이너를 서비스라 부른다. 그러므로 여러개의 컨테이너를 의미
my-web-server는 서비스에 내가 설정한 이름을 말한다
container_name는 컨테이너를 내가 설정한 이름으로 하겠다는거다
이렇게 밑에 코드창 이전 도커CLI로 컨테이너 실행 시킬때 명령어와 비교해보면 같다. 백그라운드는 밑에서 확인
$ docker run --name webserver -d -p 80:80 nginx
그러고 이제 docker compose up 해보면 저렇게 실행되는데 현재는 포그라운드로 실행중이라 명령어가 안먹힌다.
컨트롤+C로 나오고 docker compose up -d 하면 백그라운드에서 하게된다.
$ docker compose up -d # compose 파일 백그라운드로 실행시키기
# compose 실행 현황 보기
$ docker compose ps
$ docker ps
docker compose down 하면 중지시키고 컨테이너 삭제까지한다
$ docker compose down # compose로 실행된 컨테이너 삭제
3. 자주 사용하는 도커 컴포즈 CLI 명령어
(1) compose.yml에서 정의한 컨테이너 실행
$ docker compose up # 포그라운드에서 실행
$ docker compose up -d # 백그라운드에서 실행
(2) Docker Compose로 실행시킨 컨테이너 확인하기
# compose.yml에 정의된 컨테이너 중 실행 중인 컨테이너만 보여준다.
$ docker compose ps
# compose.yml에 정의된 모든 컨테이너를 보여준다.
$ docker compose ps -a
(3) Docker Compose 로그 확인하기
# compose.yml에 정의된 모든 컨테이너의 로그를 모아서 출력한다.
$ docker compose logs
(4) 컨테이너를 실행하기 전에 이미지 재빌드하기
빌드는 compose.yml에서 정의한 이미지 파일에서 코드가 변경 됐을 경우,이미지를 다시 빌드해서 컨테이너 실행해야 코드변경 부분이 적용되므로 --build 사용한다.
$ docker compose up --build # 포그라운드에서 실행
$ docker compose up --build -d # 백그라운드에서 실행
(5) docker compose up vs docker compose up --build 차이?
docker compose up는 이미지가 없을때만 빌드해서 컨테이너 실행시키고,이미지 존재할때는 빌드하지 않고 실행시킨다
docker compose up --build는 이미지가 있던 없던 무조건 빌드해서 컨테이너 실행시킨다.
(6) 이미지 다운받기 / 업데이트하기
compose.yml에서 정의된 이미지를 다운 받거나 업데이트 한다.
이미지가 없으면 다운받고 이미지가 있는데 도커 허브의 이미지와 다를경우 이미지를 업데이트 한다
$ docker compose pull
(7) Docker Compose에서 이용한 컨테이너 종료하기
$ docker compose down
'Docker' 카테고리의 다른 글
10. 도커 컴포즈 -(3) (0) | 2024.11.19 |
---|---|
9. 도커 컴포즈 -(2) (0) | 2024.11.18 |
7. 도커파일 -(2) (0) | 2024.11.15 |
6. 도커 파일 -(1) (0) | 2024.11.15 |
5. 도커 볼륨 -(2) (0) | 2024.11.14 |