CodeGym /행동 /Docker SELF /애플리케이션 및 서비스 실행

애플리케이션 및 서비스 실행

Docker SELF
레벨 15 , 레슨 3
사용 가능

4.1 명령어 docker compose up

docker compose up 명령어는 Docker Compose에서 핵심적인 명령어로, compose.yaml 파일에 정의된 멀티 컨테이너 애플리케이션을 실행할 수 있게 해줘. 이 명령어는 설정에 명시된 모든 서비스를 자동으로 생성 및 실행하고, 네트워크를 설정하며 볼륨을 마운트해. 이번 강의에서는 docker compose up 명령어 사용법, 주요 옵션, 그리고 베스트 프랙티스를 자세히 알아볼 거야.

docker compose up 명령어의 주요 기능

  1. 컨테이너 생성 및 실행: docker compose up 명령어는 compose.yaml 파일의 services 섹션에 명시된 모든 컨테이너를 생성하고 실행해.
  2. 네트워크 및 볼륨 설정: Docker Compose가 설정에 정의된 필요한 네트워크를 자동으로 생성하고 볼륨을 마운트해.
  3. 서비스 병렬 실행: 모든 서비스가 병렬로 실행돼서 멀티 컨테이너 애플리케이션의 실행 속도를 높여줘.
  4. 로그 모니터링: 명령어는 실행된 모든 컨테이너의 로그를 실시간으로 출력해줘서 상태를 확인하고 문제를 빠르게 찾아낼 수 있어.

docker compose up 명령어의 문법


docker compose up [options] [SERVICE...]

여기서:

  • [options]: 명령어의 동작 방식을 설정하는 추가 옵션 (예: --detach, --build, --scale).
  • [SERVICE...]: (선택 사항) 실행할 서비스 목록. 명시되지 않은 경우, 모든 서비스가 실행돼.

4.2 예제 docker compose up

docker compose up 명령어 사용 예제:

1. 모든 서비스 실행

compose.yaml 파일에 정의된 모든 서비스를 실행:

Terminal

docker compose up

2. 특정 서비스 실행

특정 서비스를 실행, 예를 들어 web:

Terminal

docker compose up web

3. 백그라운드 모드로 실행

모든 서비스를 백그라운드 모드로 실행하려면 -d (detached mode) 옵션을 사용:

Terminal

docker compose up -d

이 옵션을 사용하면 명령어는 컨테이너를 실행한 후 바로 종료되며, 컨테이너들은 백그라운드에서 실행됩니다.

4.3 docker compose up 명령의 매개변수

docker compose up 명령에 유용한 매개변수:

1. --build 매개변수

이 매개변수는 Docker Compose가 컨테이너를 실행하기 전에 이미지를 다시 빌드하도록 강제합니다. 소스 코드나 Dockerfile에 변경 사항을 추가한 경우 유용합니다.

Terminal

docker compose up --build

2. --force-recreate 매개변수

--force-recreate 매개변수는 컨테이너 구성이 변경되지 않았더라도 Docker Compose가 컨테이너를 다시 생성하도록 강제합니다.

Terminal

docker compose up --force-recreate

3. --no-recreate 매개변수

--no-recreate 매개변수는 이미 존재하는 컨테이너를 재생성하지 않도록 하며, 그것들이 변경되었다 하더라도 적용됩니다.

Terminal

docker compose up --no-recreate

4. --remove-orphans 매개변수

이 매개변수는 현재 compose.yaml 파일에 정의되지 않았지만 이전의 Docker Compose 실행으로 생성된 컨테이너를 삭제합니다.

Terminal

docker compose up --remove-orphans

5. -V, --renew-anon-volumes 매개변수

이 매개변수는 Docker Compose가 익명 볼륨을 다시 사용하지 않고 다시 생성하도록 강제합니다.

Terminal

docker compose up -V

4.4 예제와 추천

docker compose up 명령어를 다양한 옵션으로 사용하는 예제:

예제 1: 이미지 재빌드와 함께 애플리케이션 실행

이 예제는 컨테이너 실행 전에 이미지를 재빌드하며, 소스 코드나 Dockerfile에 변경사항이 있을 때 유용해.

Terminal

docker compose up --build

예제 2: 백그라운드 모드로 컨테이너를 다시 생성하며 실행

이 예제는 컨테이너를 백그라운드 모드로 실행하고, 구성에 변경사항이 없어도 다시 생성해.

Terminal

docker compose up -d --force-recreate

예제 3: 특정 서비스 실행 및 불필요한 컨테이너 제거

이 예제는 web 서비스만 실행하며, 현재 compose.yaml 파일에 정의되지 않은 컨테이너를 제거해.

Terminal

docker compose up web --remove-orphans

실용적인 추천

1. .env 파일 사용

.env 파일을 사용해서 환경 변수를 정의할 수 있어. 이 환경 변수들은 compose.yaml에서 사용할 수 있고, 구성 관리를 돕고 다양한 환경에서 배포를 간소화해줘.

2. 로그와 모니터링

docker compose up 명령어로 컨테이너를 실행할 때, 모든 로그가 콘솔에 출력돼. 이 로그를 통해 서비스 상태를 확인하고, 문제 발생 시 빠르게 대처할 수 있어. 자세한 모니터링을 위해 docker compose logsdocker compose ps 명령어를 사용해봐.

3. 빌드 및 배포 자동화

docker compose up 명령어를 자동화 스크립트나 CI/CD 파이프라인에 통합하면 멀티 컨테이너 애플리케이션의 빌드와 배포 과정을 자동화할 수 있어. 예를 들어, Jenkins나 GitHub Actions를 설정해서 코드가 업데이트될 때마다 docker compose up을 자동으로 빌드, 배포 및 실행하도록 만들 수 있어.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION