
Ubuntu 18.04에서 Docker Compose 설치 및 사용 방법
Docker Compose
다중 컨테이너 Docker 응용 프로그램을 정의하고 관리할 수 있는 도구입니다.YAML 파일을 사용하여 애플리케이션의 서비스, 네트워크 및 볼륨을 구성합니다.작성은 서로 다른 목적에 사용할 수 있다.단일 호스트 응용 프로그램 배치, 자동 테스트 및 로컬 개발은 Docker Compose에서 가장 자주 사용하는 용례입니다.이 강좌에서는 Ubuntu 18.04에 최신 버전의 Docker Compose를 설치하는 방법을 보여주고 Docker Compose의 기본 개념과 명령을 탐색합니다.같은 설명은 Ubuntu 16.04와 다른 데비안 기반 버전에도 적용된다. 데비안, Linux Mint, 초급 운영체제를 포함한다.user with sudo privileges로 로그인해야 합니다.
. 의 지침에 따라 Docker 설치
.
다운로드할 수 있는 새 버전이 있는지 확인합니다.Ubuntu 18.04에 Docker Compose를 설치하려면 다음 절차를 따르십시오. 다음 명령을 사용하여 Docker Compose 바이너리 파일을
명령: 다운로드가 완료되면 실행 가능한 파일 적용
Compose 바이너리 파일의 경우: 다음 명령을 실행하여 설치를 검증합니다. 이 명령은 Compose 버전을 표시합니다.
Ubuntu 18.04에서먼저 프로젝트 디렉터리 만들기 및 WordPress application
입력:
및 text editor
. 특정 Docker 버전을 지원하는 여러 가지 버전의 Compose 파일 형식이 있습니다.다음은 두 가지 서비스 사용Compose file version
형상이미지는 시스템에 없는 경우 Docker Hub 공용 저장소에서 추출됩니다. 재부팅 은 데이터베이스를 지속시키기 위해 명명 볼륨 정의 사용environment variables
형상이미지가 시스템에 없으면 Compose는 Docker Hub 공용 저장소에서 이미지를 추출합니다. 재부팅 호스트의 컨테이너의 노출 포트 80을 호스트의 포트 8080으로 전달합니다. 이미지의 환경 변수를 정의합니다. 프로젝트 디렉터리에서 다음 명령을 실행하여 워드프레스 프로그램을 시작합니다.
입력:
다중 컨테이너 Docker 응용 프로그램을 정의하고 관리할 수 있는 도구입니다.YAML 파일을 사용하여 애플리케이션의 서비스, 네트워크 및 볼륨을 구성합니다.작성은 서로 다른 목적에 사용할 수 있다.단일 호스트 응용 프로그램 배치, 자동 테스트 및 로컬 개발은 Docker Compose에서 가장 자주 사용하는 용례입니다.이 강좌에서는 Ubuntu 18.04에 최신 버전의 Docker Compose를 설치하는 방법을 보여주고 Docker Compose의 기본 개념과 명령을 탐색합니다.같은 설명은 Ubuntu 16.04와 다른 데비안 기반 버전에도 적용된다. 데비안, Linux Mint, 초급 운영체제를 포함한다.
선결 조건
본 강좌를 계속하기 전에.
.
Ubuntu에 Docker Compose 설치
Docker Compose 설치 패키지는 공식 Ubuntu 18.04 저장소에서 제공되지만 항상 최신 버전은 아닐 수 있습니다.권장되는 방법은 Docker의 GitHub 저장소에서 Docker Compose를 설치하는 것입니다.이 문서를 작성할 때 Docker Compose의 최신 안정 버전은 version1.23.1
이다.바이너리 작성을 다운로드하기 전에 How To Install and Use Docker on Ubuntu 18.04다운로드할 수 있는 새 버전이 있는지 확인합니다.Ubuntu 18.04에 Docker Compose를 설치하려면 다음 절차를 따르십시오.
/usr/local/bin
디렉터리로 다운로드 Compose repository release page on GitHub명령:
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
curl
Compose 바이너리 파일의 경우:
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
출력은 다음과 같습니다. docker-compose version 1.23.1, build b02f1306
Docker Compose 시작
이 절에서 Docker Compose를 사용하여 다중 용기permissions를 설정하는 방법을 보여 드리겠습니다.Ubuntu 18.04에서먼저 프로젝트 디렉터리 만들기 및 WordPress application
입력:
시작 navigatingmkdir my_app
cd my_app
및 text editor
docker-compose.yml
라는 프로젝트 디렉터리에서: nano docker-compose.yml
다음 내용을 붙여넣습니다: docker compose.코드를 한 줄 한 줄 분석합시다.첫 번째 줄에서 우리는 지정했다 create a file. 특정 Docker 버전을 지원하는 여러 가지 버전의 Compose 파일 형식이 있습니다.다음은 두 가지 서비스
db
와wordpress
를 정의합니다.모든 서비스는 dockercompose가 실행될 때 단독 용기를 만드는 이미지를 실행합니다.db
서비스: 형상이미지는 시스템에 없는 경우 Docker Hub 공용 저장소에서 추출됩니다.
mysql:5.7
정책을 사용하면 컨테이너가 항상 재부팅됨을 나타냅니다.always
을 만듭니다.db_data
mysql:5.7
이미지의 경우wordpress
서비스: 형상이미지가 시스템에 없으면 Compose는 Docker Hub 공용 저장소에서 이미지를 추출합니다.
wordpress
정책을 사용하면 컨테이너가 항상 재부팅됨을 나타냅니다.always
디렉토리를 컨테이너에 마운트합니다wp_data
./var/lib/mysql
명령은 두 서비스 간의 의존 관계를 정의했다.이 예에서 wordpress
은 depends_on
이전에 시작됩니다.version: '3.3'
services:
db:
image: mysql:5.7
restart: always
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
wordpress:
image: wordpress
restart: always
volumes:
- ./wp_data:/var/www/html
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: password
depends_on:
- db
volumes:
db_data:
wp_data:
출력은 다음과 같습니다. (adsbygoogle=window.adsbygoogle | []).푸시({});docker-compose up
Compose는 두 개의 이미지를 추출하여 두 개의 컨테이너를 시작하고 프로젝트 디렉터리에 db
디렉터리를 생성합니다.브라우저에 wordpress
를 입력하면 Wordpress 설치 화면이 표시됩니다.Wordpress 프로그램이 시작되고 실행되었습니다. 테마나 플러그인을 처리할 수 있습니다.작성을 중지하려면 wp_data
을 누릅니다.전달http://0.0.0.0:8080/
로고를 통해 분리 모드에서 작성을 시작할 수 있습니다....
wordpress_1 | [Sun Sep 23 22:31:43.499055 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations
wordpress_1 | [Sun Sep 23 22:31:43.499796 2018] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
실행 중인 서비스를 확인하려면 Compose에서 분리 모드로 실행할 때 사용CTRL+C
옵션: docker-compose up -d
서비스 사용 중지: docker-compose ps
컨테이너를 완전히 삭제하려면 -d
옵션을 사용하십시오. Name Command State Ports
----------------------------------------------------------------------------------
my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
my_app_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8080->80/tcp
스위치를 통해 데이터 볼륨도 삭제합니다. docker-compose stop
Docker Compose 제거
어떤 이유로든 Docker Compose를 제거하려면단순함ps
입력:
docker-compose down