[Linux] Docker Compose & Basic Command

SYSTEM/Linux / /
반응형

Docker Compose Images

 

Docker는 개발자와 운영 팀이 VM의 경량 컨테이너에 애플리케이션을 만들고 자동화하는 사용되는 컨테이너 도구입니다. 애플리케이션이 여러 환경에서 효율적으로 작동하도록 하기 위해 수행됩니다.

 

1. Docker Compose 란?


복수 개의 컨테이너를 실행시키는 도커 애플리케이션이 정의를 하기 위한 툴입니다.
Compose를 사용하면 YAML 파일을 사용하여 애플리케이션의 서비스를 구성할 수 있습니다.
그런 다음 single command를 사용하여 구성에서 모든 서비스를 만들고 시작합니다

 

 

Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구입니다. Compose에서는 YAML 파일을 사용하여 애플리케이션 서비스를 구성합니다. 그런 다음 단일 명령으로 구성에서 모든 서비스를 만들고 시작합니다.

Docker compose는 여러 컨테이너를 단일 서비스로 실행하는 데 사용되는 간단하지만 강력한 도구입니다. 예를 들어 웹 서버로 Nginx가 필요하고 데이터베이스 서비스로 PostgreSQL이 필요한 애플리케이션이 있다고 가정합니다. 이 경우 docker-compose를 사용하여 하나의 파일( docker-compose.yml )을 생성할 수 있습니다. 이 파일은 두 컨테이너를 각각 별도로 시작하지 않고 단일 서비스로 생성합니다.

 

Docker Compose는 여러 컨테이너를 단일 서비스로 실행하는 데 사용됩니다. 여기에서 각 컨테이너는 독립적으로 실행되지만 필요할 때 서로 상호 작용할 수 있습니다. Docker Compose 파일은 YAML이라는 스크립팅 언어로 작성하기가 매우 쉽습니다. YAML은 Yet Another Markup Language를 나타내는 XML 기반 언어입니다. Docker Compose의 또 다른 장점은 사용자가 단일 명령을 사용하여 모든 서비스(컨테이너)를 활성화할 수 있다는 것입니다.

 

 

Example 

 

NGINX 서버와 Redis 데이터베이스가 필요한 애플리케이션이 있는 경우 두 컨테이너를 별도로 시작할 필요 없이 두 컨테이너를 서비스로 실행할 수 있는 Docker Compose 파일을 만들 수 있습니다.

 

2. Docker Compose 장점


 

  • 단일 호스트 배포 - 이는 단일 하드웨어에서 모든 것을 실행할 수 있음을 의미합니다.
  • 빠르고 쉬운 구성 - YAML 스크립트로 인해
  • 높은 생산성 - Docker Compose는 작업을 수행하는 데 걸리는 시간을 줄입니다.
  • 보안 - 모든 컨테이너가 서로 격리되어 위협 환경을 줄입니다.
  • 이제 Docker Compose가 Docker Swarm과 매우 유사하다고 생각할 수 있지만 그렇지 않습니다. 다음
  • 은 Docker Compose와 Docker Swarm 의 차이점입니다 .

 

3. Docker Compose의 기본 명령

 

  • Start all services: Docker Compose up
  • Stop all services: Docker Compose down
  • Install Docker Compose using pip: pip install -U Docker-compose
  • Check the version of Docker Compose: Docker-compose-v
  • Run Docker Compose file: Docker-compose up -d
  • List the entire process: Docker ps
  • Scale a service - Docker Compose up -d -scale
  • Use YAML files to configure application services - Docker Compose.yml

 

4. Docker Compose 설치 (Install Docker Compose)


 

Windows, Linux 및 macOS에 각각 Docker Compose를 설치하는 방법에 대해 자세히 알아보겠습니다. 

설치를 시작하기 전에 몇 가지 전제 조건이 있습니다. 

전제 조건


Docker Compose를 설치하려면 Docker Engine을 원격 또는 로컬로 설치해야 합니다. 

Docker Engine에 필요한 설정을 살펴보겠습니다.

  • Docker Compose는 Windows 및 Mac용 Docker Desktop과 같은 데스크톱 플랫폼에 사전 설치되어 제공됩니다.
  • Linux 시스템의 Docker 가져오기 페이지에 표시된 대로 운영 체제용 Docker 엔진을 설치한 다음 Linux 시스템의 Docker Compose 설치 지침을 보려면 여기로 돌아오세요.

 

설치하기

 

아래에서는 macOS, Linux 및 Windows에서 Docker Compose를 설치하는 단계를 요약합니다.

1) macOS에 Docker Compose 설치 


macOS에서 Docker Compose를 사용하려면 Mac용 Docker Desktop만 설치하면 되며 Docker Compose를 별도로 설치할 필요는 없습니다.

 

 

 

2) Linux에 Docker Compose 설치

 

https://github.com/docker/compose/releases
Linux에서 Docker Compose를 실행하려면 Github의 Compose 저장소 릴리스 페이지 를 사용하여 Docker Compose 바이너리를 다운로드해야 합니다 

 

Docker Compose의 현재 안정 버전을 다운로드

 

 

$ sudo curl -L "https://github.com/docker/compose/releases/download/(VERSION)/docker-compose-$(uname -m)" -o /usr/local/bin/docker-compose

 

$ sudo chmod +x /usr/local/bin/docker-compose

 

 

 

3) Windows Docker Compose Install 설치

 

Windows에서 Docker Compose를 사용하려면 Windows용 Docker Desktop만 설치하면 되며 Docker Compose를 별도로 설치할 필요가 없습니다.

 

 

 

 

Linux 다른 글 더보기 (See more)

 

 

'SYSTEM/Linux' 카테고리의 글 목록

정보 지식 공유와 나눔으로 상생의 가치 실현해요 ^^

rootkey.tistory.com

 

 

 

5. Docker Compose Basic Command (기본 명령어)


docker 컨테이너 최초 실행

$ docker-compose up -d

 

컨테이너 중지 및 종료(stop & kill)
$ docker-compose down

 

작동중인 프로세스의 상태를 확인
$ docker-compose ps

 

도커 이미지 가져오기
$ docker-compose pull

 

로그 확인
$ docker-compose logs [service_name]
docker-compose.yml에서 작성했던 services 항목을 말한다.

컨테이너 추가 생성
$ docker-compose run -d [service_name]
이런 식으로 반복하여 여러 개의 같은 서비스의 컨테이너 생성 가능

필요한 이미지를 강제로 빌드
$ docker-compose up --build

 

컨테이너 강제 재시작
$ docker-compose up --force-recreate

 

컨테이너 자원 사용량 확인
$ docker inspect [container_name]

 

컨테이너 자원 변경
$ docker update [resource_update] [container_name]
resource_update 예시 :  --cpuset-cpus=0-4(cpu 개수 지정)

도커 데몬에서 실행되는 명령어의 결과를 로그로 출력
$ docker events

 

실행 중인 모든 컨테이너의 자원 사용량을 스트림으로 출력
$ docker stats
--no-stream 옵션을 붙여 그 순간의 로그만 볼 수 있음

이미지, 컨테이너, 로컬 볼륨의 개수 및 크기 등의 정보 출력
$ docker system df

 

 

 

6. TMI


 

1) Docker Compose Server (Azure)

 

https://azuremarketplace.microsoft.com/ko-kr/marketplace/apps/cloud-infrastructure-services.docker-compose-ubuntu20?tab=Overview 

 

Microsoft Azure Marketplace

https://store-images.s-microsoft.com/image/apps.47279.f487416b-4168-4235-859e-8695880febc5.cdca974b-3ecd-4b63-b0df-29eb1496aca0.fbea131b-bf8f-44ac-83a5-00319db557d9 https://store-images.s-microsoft.com/image/apps.33141.f487416b-4168-4235-859e-8695880febc5.

azuremarketplace.microsoft.com

 

 

 

 

 

2) Docker Compose Documentation

 

https://docs.docker.com/compose/gettingstarted/

 

Get started with Docker Compose

 

docs.docker.com

 

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기