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 상태에 있는 컨테이너를 구동시키는 역활을 합니다.
그래서 컨테이너를 재시작할 때 지속성을 가질 수 있도록 하기 위해서 볼륨
이라는 개념이 등장합니다.
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
'42Seoul > Inception' 카테고리의 다른 글
Dockerfiles이란? [42 inception 과제 개념 9] (0) | 2023.06.24 |
---|---|
docker compose를 사용한 네트워크 [42 inception 과제 개념 8] (0) | 2023.06.24 |
docker-compose 란 무엇인가? [42 inception 과제 개념 6] (0) | 2023.06.24 |
도커 네트워크란 [42 inception 과제 개념 5] (0) | 2023.06.24 |
Docker 명령어, 포트번호, 컨테이너 디버깅 [42 inception 과제 개념 4] (0) | 2023.06.24 |