Docker Compose에서 중지, 아래로, 위로 및 시작의 차이점

Marion Paul Kenneth Mendoza 2023년6월20일
  1. docker 작성 중지docker 작성 중지의 차이점
  2. docker 작성 시작docker 작성의 차이점
Docker Compose에서 중지, 아래로, 위로 및 시작의 차이점

Docker Compose에는 여러 유사한 명령이 있지만 완전히 다른 방식으로 작동합니다. 몇 가지 예는 docker compose stopdocker compose down 명령과 docker compose startdocker compose up 명령입니다.

이 기사에서는 그에 따라 차이점에 대해 설명합니다.

docker 작성 중지docker 작성 중지의 차이점

docker 작성 중지 사용

docker compose stop 명령 실행의 기본 기능은 실행 중인 컨테이너의 서비스를 중지하는 것입니다. 이 명령은 컨테이너를 중지하지만 반드시 삭제할 필요는 없습니다.

예를 들어 아래 명령은 컨테이너 이름이나 ID를 지정하지 않으면 모든 컨테이너를 중지합니다.

docker compose stop

출력:

Going to stop file, web, test
Stopping file ... done
Stopping web ... done
Stopping test ... done

컨테이너 이름 또는 ID를 지정하여 중지할 컨테이너를 지정할 수 있습니다.

docker compose stop file

출력:

Going to stop file
Stopping file ... done

또한 docker compose stop을 실행할 때 종료 시간 제한을 지정할 수 있습니다. Docker는 일반적으로 컨테이너를 중지하기 전에 10초 동안 기다립니다.

예를 들어 컨테이너가 중지할 때 시간이 조금 더 필요할 수 있다는 것을 알고 있는 경우 아래와 같이 이 제한 시간 값을 늘릴 수 있습니다.

docker compose stop file -t 60

docker compose down 사용

반면에 docker compose down 명령은 프로세스에서 추가 단계를 제공합니다. 해당 명령은 컨테이너와 내부에서 실행 중인 서비스를 중지하고 삭제합니다. 삭제에는 컨테이너와 네트워크가 모두 포함됩니다.

docker compose down은 순차적으로 실행될 때 docker stop <컨테이너 이름 또는 id>docker <prune 또는 rm>과 유사하게 작동합니다. docker compose down 명령은 두 개의 결합된 명령의 약간의 지름길이라고 말할 수 있습니다.

따라서 아래 두 명령을 실행하는 대신:

docker compose stop file && docker compose rm -f

대신 docker compose down을 사용할 수 있습니다.

docker compose down file

docker compose down 명령에 -v 또는 --volumes 플래그를 추가하여 한 단계 더 높일 수 있습니다. 이 명령은 실행 시 연결된 컨테이너, 해당 네트워크 및 볼륨을 중지하고 제거합니다.

해당 플래그를 추가하여 세 가지 명령을 단 하나의 명령으로 결합했습니다.

docker compose down file -v

컨테이너뿐만 아니라 이미지에도 docker compose down 명령을 사용할 수 있습니다. 예를 들어 docker compose down --rmi <all or local> 명령을 실행하여 이미지를 제거할 수 있습니다.

이 명령은 기본 Docker에서 사용될 때 docker rmi 명령과 유사합니다.

docker 작성 시작docker 작성의 차이점

도커 작성 시작 사용

이전 섹션과 마찬가지로 docker compose startdocker compose up 명령은 비슷하게 들리지만 기능상 다르게 작동합니다. 예를 들어 docker compose start 명령은 이전에 중지된 특정 컨테이너를 다시 시작합니다.

docker compose start file

또한 해당 명령은 이미 생성된 컨테이너에 대해서만 작동합니다.

그렇다면 생성되지 않은 컨테이너를 어떻게 직접 시작할 수 있습니까? 아래에서 다음 명령을 사용할 수 있습니다.

도커 구성 사용

docker compose up 명령은 docker-compose.yml 파일을 기반으로 새 컨테이너를 시작합니다. 서로 순차적으로 실행할 때 docker createdocker start를 실행하는 것과 유사합니다.

우리는 YAML 파일을 사용하고 있기 때문에 하나의 명령으로 여러 컨테이너를 만들고 시작할 수 있습니다.

docker compose up

출력:

Creating file
Creating web
Creating test

docker compose up을 사용할 때 소스 YAML 파일에 변경 사항이 있으면 해당 YAML 파일을 기반으로 하는 컨테이너가 중지되고 다시 생성됩니다.

이를 방지하기 위해 docker compose up 중에 아래와 같이 –-no-recreate 옵션을 사용할 수 있습니다. 요약하자면, 컨테이너가 이미 존재하는 경우 명령은 컨테이너를 다시 만들지 않습니다.

docker-compose up -d --no-recreate

또한 docker compose stop과 마찬가지로 시간 초과 값을 지정할 수 있습니다.

docker-compose up -d -t 30

바닐라 Docker 환경에서 새 컨테이너를 실행하고 시작할 때 docker run 명령의 주요 대응 요소라고 말할 수도 있습니다.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

관련 문장 - Docker Compose