기계적 인조 인간

centos 7에서 docker compose를 설치하고 사용하는 방법

Docker Volumes explained in 6 minutes

Docker Volumes explained in 6 minutes

차례:

Anonim

Docker Compose는 다중 컨테이너 Docker 응용 프로그램을 정의하고 실행할 수있는 도구입니다.

Compose를 사용하면 애플리케이션 서비스, 네트워크 및 볼륨을 단일 YAML 파일로 정의한 다음 단일 명령으로 애플리케이션을 스핀 할 수 있습니다.

Compose는 단일 호스트 응용 프로그램 배포, 자동화 된 테스트 및 로컬 개발과 같은 다양한 목적으로 사용될 수 있습니다.

이 튜토리얼은 CentOS 7에 최신 버전의 Docker Compose를 설치하는 과정을 안내합니다. 또한 기본 Docker Compose 개념 및 명령에 대해서도 설명합니다.

전제 조건

이 학습을 계속하기 전에 다음 전제 조건을 충족했는지 확인하십시오.

  • sudo 권한이있는 사용자로 로그인했습니다. CentOS 7 시스템에 Docker가 설치되어 있어야합니다.

CentOS에 Docker Compose 설치

CentOS 7에 Docker Compose를 설치하는 데 권장되는 방법은 Docker의 GitHub 저장소에서 Compose 바이너리를 다운로드하는 것입니다.

이 기사를 작성할 당시 Docker Compose의 최신 안정 버전은 1.23.1 입니다. Compose 바이너리를 다운로드하기 전에 GitHub의 Compose 저장소 릴리스 페이지를 방문하여 다운로드 할 수있는 새 버전이 있는지 확인하십시오.

CentOS 7에 Docker Compose를 설치하려면 다음 단계를 완료하십시오.

  1. 다음 curl 명령을 사용하여 Docker Compose 바이너리를 /usr/local/bin 디렉토리로 다운로드하십시오.

    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

    다운로드가 완료되면 다음을 입력하여 이진 실행 파일을 만드십시오.

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

    설치를 확인하려면 다음 명령을 입력하여 작성 버전을 인쇄하십시오.

    docker-compose --version

    결과는 다음과 같습니다.

    docker-compose version 1.23.1, build b02f1306

Docker Compose 시작하기

이 섹션에서는 Docker Compose를 사용하여 CentOS 7 시스템에서 WordPress 스택을 실행하는 방법을 보여줍니다.

프로젝트의 새 디렉토리를 작성하고 탐색하십시오.

mkdir my_app && cd my_app

그런 다음 프로젝트 디렉토리 내에 docker-compose.yml 이라는 파일을 만듭니다.

nano docker-compose.yml

다음 내용을 붙여 넣습니다.

docker-compose.yml

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:

코드를 한 줄씩 분석해 봅시다.

첫 번째 줄은 작성 파일 버전을 지정합니다. 특정 Docker 릴리스를 지원하는 여러 가지 Compose 파일 형식 버전이 있습니다.

다음으로, 우리는 db wordpress 두 서비스를 정의하고 있습니다. 각 서비스는 하나의 이미지를 실행하며 docker-compose가 실행될 때 별도의 컨테이너를 만듭니다.

db 서비스:

  • mysql:5.7 이미지를 사용합니다. 이미지가 시스템에 없으면 Compose는 Docker Hub 공용 저장소에서 이미지를 가져옵니다. 컨테이너를 항상 다시 시작하도록 지시하는 재시작 always 정책을 사용합니다. mysql:5.7 이미지.

wordpress 서비스:

  • wordpress 이미지를 사용합니다. 이미지가 시스템에 없으면 Compose는 Docker Hub 공용 저장소에서 이미지를 가져옵니다. 컨테이너를 항상 다시 시작하도록 지시하는 always 재시작 정책을 사용합니다. 호스트의 wp_data 디렉토리를 /var/lib/mysql wp_data 합니다. 컨테이너의 노출 된 포트 80을 호스트 시스템의 포트 8080으로 전달합니다 depends_on 이미지의 환경 변수를 정의합니다. 이 예에서 db wordpress 전에 시작됩니다.

프로젝트 디렉토리에서 다음 명령을 사용하여 WordPress 애플리케이션을 스핀 업하십시오.

docker-compose up

출력은 다음과 같아야합니다.

… wordpress_1 | AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations wordpress_1 | AH00094: Command line: 'apache2 -D FOREGROUND'

작성은 두 이미지를 모두 가져 wp_data 두 개의 컨테이너를 시작하고 프로젝트 디렉토리에 wp_data 디렉토리를 만듭니다.

브라우저를 열고 http://0.0.0.0:8080/ 을 입력하면 Wordpress 설치 화면이 나타납니다.

이제 WordPress 응용 프로그램이 시작되어 테마 또는 플러그인 작업을 시작할 수 있습니다.

작성을 중지하려면 CTRL+C 누르 CTRL+C . 환경 변수 분리 모드에서 작성을 시작하려면 -d 플래그를 사용하십시오.

docker-compose up -d

실행중인 서비스를 확인하려면 ps 옵션을 사용하십시오.

docker-compose ps

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

컨테이너를 완전히 제거하려면 down 옵션을 사용하십시오.

docker-compose down

--volumes 스위치를 전달하면 데이터 볼륨도 제거됩니다.

docker-compose down --volumes

Docker Compose 제거

sudo rm /usr/local/bin/docker-compose

결론

CentOS 7에서 Docker Compose를 설치하고 사용하는 방법을 배웠습니다.

도커 센 토스