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를 사용하여 배포했습니다.