본문 바로가기
42Seoul/Inception

docker compose 명령어 [42 inception 과제 개념 7]

by 뜨거운 개발자 2023. 6. 24.

docker compose 실행하기

Docker Compose는 기본적으로 커맨드가 실행하는 디렉토리에 있는 docker-compose.yml 또는 docker-compose.yaml를 설정 파일로 사용합니다.

docker-compose -f 설정파일

만약 실행 경로에 docker-compose.yml 이 아닌 다른 이름이나 경로의 파일을 Docker Compose 설정 파일로 사용하고 싶다면 -f 옵션으로 명시를 해줍니다. (예시 : docker-compose -f mongo.yaml up)

-f 옵션은 여러 개의 설정 파일을 사용할 때도 사용할 수 있습니다. 이 때는 나중에 오는 설정이 앞에 오는 설정보다 우선하게 됩니다. (예시 : docker-compose -f mongo.yaml -f docketest.yaml up)

docker-compose -d up

docker-compose -d up 이렇게 많이 사용합니다.

이 명령의 의미는 모든 서비스 컨테이너를 한번에 생성하고 실행하며 -d 옵션을 이용해서 background에서 컨테이너를 띄웁니다.

-d 옵션 : detatch 한다는 의미로, 이것을 해주지 않으면 터미널을 사용하지 못하고 계속해서 로그가 나오게 됩니다. 터미널을 사용하기 위해서 ctrl +c 를 해주는 순간 컨테이너가 종료 되어버리기 때문에 이 옵션은 상당히 자주 사용됩니다.

docker-compose stop

돌아기고 있는 특정 서비스 컨테이너를 정지시키기 위해서 사용합니다.

docker-compose start

docker-compose start 커맨드는 내려가 있는 있는 특정 서비스 컨테이너를 올리기 위해서 사용합니다.

이 명령은 docker-compose stop 명령에 의해 삭제되지는 않았지만 stop 상태에 있는 컨테이너를 구동시키는 역활을 합니다.

🚨
다만 여기서 꼭 기억해야하는 것은 컨테이너를 stop하고 start하는 경우(restart) 이전에 컨테이너에 데이터를 저장했다면 그것은 저장되지 않습니다! 이것은 컨테이너가 지속성이 없다는 것은 아주 중요한 개념입니다.

그래서 컨테이너를 재시작할 때 지속성을 가질 수 있도록 하기 위해서 볼륨이라는 개념이 등장합니다.

docker-compose down

docker-compose up 커맨드에 반대되는 명령이라고 볼 수가 있습니다.

Docker Compose에 정의되어 있는 모든 서비스 컨테이너를 한 번에 정지시키고 동시에 삭제까지 진행합니다. 이때 docker compose를 하면 생성됐던 default network도 삭제가 됩니다.

docker-compose ps

docker-compose ps 커맨드는 Docker Compose에 정의되어 있는 모든 서비스 컨테이너 목록을 조회할 때 사용합니다.

docker-compose logs

docker-compose logs 커맨드는 서비스 컨테이너의 로그를 확인하고 싶을 때 사용하며, 보통 -f 옵션을 붙여서 실시간 로그를 확인합니다.

사용예시 : docker-compose logs -f 컨테이너 이름

docker-compose exec

docker-compose exec 커맨드는 실행 중인 서비스 컨테이너에게 명령을 실행하고 싶을 때 사용합니다.

사용예시 : docker-compose exec db psql postgres postgres

docker-compose run

docker-compose run 커맨드는 서비스 컨테이너의 특정 명령어를 일회성으로 실행할 때 사용합니다.

docker-compose run 컨테이너이름 원하는명령 : 이렇게 하면 컨테이너에서 원하는 명령을 실행한번 해줍니다.

사용 예시 : docker-compose run web env

docker-compose config

docker-compose config 커맨드는 Docker Compose 설정을 확인할 때 사용합니다. 

-f 옵션으로 여러 개의 설정 파일을 사용할 때, 최종적으로 어떻게 설정이 적용되는지 확인해볼 때 유용합니다.

즉 도커 컴포즈 파일의 내용을 출력해주는 명령입니다.


Uploaded by N2T

728x90