docker compose는 여러 개의 컨테이너를 관리하는 orchestration입니다.
kubernetes와 비슷한 개념이라고 생각하시면 됩니다.
docker compose를 사용하기 위해서는 먼저 docker-compose를 설치해야 합니다.
설치하는 방법은 아래의 링크를 참고하시면 됩니다.
https://tiqndjd12.tistory.com/88
설치가 완료되었다고 해서 바로 docker-compose를 사용할 수 있지 않습니다.
docker-compose.yml 파일이 있는 경로에서 docker-compose를 실행해야 사용할 수 있습니다.
현재 사용자 경로에 docker-compose.yml 파일을 작성합니다.
docker-compose.yml에 작성된 내용은 nginx와 tomcat 도커 이미지를 다운받아 컨테이너로 실행하는 내용입니다.
11~14라인은 healthcheck 속성을 이용해 nginx 컨테이너가 tomcat1 컨테이너가 실행 중인지 확인하는 내용입니다.
healthcheck 속성을 사용한 이유는 tomcat1이 정상적으로 실행되는지 확인한 후 nginx와 연계하기 위해서입니다.
원래 depends_on 속성을 사용해도 되지만 tomcat1이 정상적으로 실행 중인지 확인하지 않기 때문에 권장하지 않습니다.
단 위의 예처럼 실행하면 nginx 로드 밸런싱이 안된다는 점 참고하시기 바랍니다.
(tomcat1 컨테이너가 다운되면 tomcat2 컨테이너가 nginx와 연계 안됨)
아래 링크에서 depends_on 속성정보 확인하시기 바랍니다.
https://docs.docker.com/compose/compose-file/compose-file-v3/#depends_on
docker-compose.yml 파일 작성이 끝났으면 docker-compose를 실행합니다.
"sudo docker-compose up -d" 명령어는 docker-compose.yml 파일에 작성한 내용대로
도커 이미지 다운받고, 컨테이너로 실행합니다.
-d 옵션은 백그라운드 옵션입니다.
반대로 컨테이너를 중지하고 삭제하고 싶으면 "sudo docker-compose down" 명령어를 사용하면 됩니다.
"sudo docker-compose start"는 docker-compose로 생성된 컨테이너를 실행하는 명령어입니다.
"sudo docker-compose stop"는 docker-compose로 생성된 컨테이너를 중지하는 명령어입니다.
위 화면에서 컨테이너가 제대로 올라간 것을 확인할 수 있고, healthcheck도 정상적으로 실행된 것을 확인할 수 있습니다.
docker-compose.yml 샘플 파일 필요하신 분들은 아래 링크에서 다운받으시면 됩니다.
'dev > DOCKER' 카테고리의 다른 글
docker cp (0) | 2022.10.31 |
---|---|
docker volume (0) | 2022.10.31 |
docker install jenkins (0) | 2022.02.09 |
docker image save load (0) | 2022.01.08 |
docker container install vi (0) | 2021.07.11 |