Ubuntu 22.04에서 Docker와 함께 Docker Compose 설치 및 사용

Ubuntu 22.04에서 Docker로 Docker Compose를 설치하는 방법 *.yaml Docker Compose는 파일 을 사용하여 배포하는 여러 컨테이너가 함께 작동하도록 오케스트레이션하는 방법을 제공하는 간단한 도구입니다 .

이 가이드에서는 Ubuntu 22.04에서 Docker Compose를 설치하고 docker Compose를 사용하여 새 애플리케이션을 만드는 방법을 설명 합니다.

** Docker Compose 사용을 위해서는 Docker 가 설치되어 있어야 합니다.

Docker Compose 설치

Docker가 설치되면 Docker Compose 설치를 진행할 수 있습니다.

여기에서는 공식 GitHub 리포지토리 에서 최신 버전의 Docker Compose를 설치 합니다 .

sudo curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

다운로드한 파일에 올바른 권한을 설정하십시오.

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

다음 명령을 사용하여 설치를 확인합니다.

docker-compose --version
Docker Compose version v2.5.0
이제 Docker Compose가 성공적으로 설치되었으며 컨테이너 실행을 시작할 수 있습니다.

Docker Compose 사용

Docker Compose를 사용하면 YAML 파일을 사용하여 여러 컨테이너 애플리케이션을 정의할 수 있습니다. YAML 파일을 사용하여 모든 컨테이너를 실행, 빌드 및 구성할 수 있습니다.

프로젝트 디렉토리를 생성하고 해당 디렉토리 내부를 탐색합니다.

mkdir docker-project
cd docker-project 

YAML 파일을 생성합니다. 이것은 hello world 에 대한 yaml 파일의 기본 예입니다.

sudo nano docker-compose.yml

다음 내용을 붙여넣고 파일을 저장합니다.

version: '3.9'
services:
   hello-world:
      image:
         hello-world:latest

파일을 저장하고 종료하려면 다음 Ctrl + X 을 누르 십시오. 그리고 Y 다음 Enter

이제 다음 명령을 실행하여 Docker Hub에서 hello word 이미지를 가져올 수 있습니다.

docker-compose up

이와 유사한 출력을 받게 됩니다.

[+] Running 2/2
 ⠿ Network docker-project_default          Created                                                                                  0.1s
 ⠿ Container docker-project-hello-world-1  Created                                                                                  0.1s
Attaching to docker-project-hello-world-1
docker-project-hello-world-1  |
docker-project-hello-world-1  | Hello from Docker!
docker-project-hello-world-1  | This message shows that your installation appears to be working correctly.
docker-project-hello-world-1  |
docker-project-hello-world-1  | To generate this message, Docker took the following steps:
docker-project-hello-world-1  |  1. The Docker client contacted the Docker daemon.
docker-project-hello-world-1  |  2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
docker-project-hello-world-1  |     (amd64)
docker-project-hello-world-1  |  3. The Docker daemon created a new container from that image which runs the
docker-project-hello-world-1  |     executable that produces the output you are currently reading.
docker-project-hello-world-1  |  4. The Docker daemon streamed that output to the Docker client, which sent it
docker-project-hello-world-1  |     to your terminal.
docker-project-hello-world-1  |
docker-project-hello-world-1  | To try something more ambitious, you can run an Ubuntu container with:
docker-project-hello-world-1  |  $ docker run -it ubuntu bash
docker-project-hello-world-1  |
docker-project-hello-world-1  | Share images, automate workflows, and more with a free Docker ID:
docker-project-hello-world-1  |  https://hub.docker.com/
docker-project-hello-world-1  |
docker-project-hello-world-1  | For more examples and ideas, visit:
docker-project-hello-world-1  |  https://docs.docker.com/get-started/
docker-project-hello-world-1  |
docker-project-hello-world-1 exited with code 0

이제 hello-world 이미지는 Docker Hub에서 가져오고 docker-compose는 컨테이너를 만들고 프로그램을 연결하고 실행합니다.

다음 명령을 사용하여 모든 컨테이너를 볼 수 있습니다.

docker ps -a
CONTAINER ID   IMAGE                COMMAND    CREATED          STATUS                          PORTS     NAMES
a43518f7c6a8   hello-world          "/hello"   21 seconds ago   Exited (0) 20 seconds ago                 compassionate_williamson
874bd670fbc2   hello-world:latest   "/hello"   3 minutes ago    Exited (0) About a minute ago             docker-project-hello-world-1
faba9c5eabfa   hello-world          "/hello"   48 minutes ago   Exited (0) 48 minutes ago                 elastic_shamir

이제 Docker Compose를 사용하여 배포했습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *