기계적 인조 인간

debian 9에서 docker compose를 설치하고 사용하는 방법

What is Docker?

What is Docker?

차례:

Anonim

Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 조정하는 데 사용되는 도구입니다. YAML 파일을 사용하여 응용 프로그램의 컨테이너, 네트워크 및 볼륨을 구성합니다.

작성은 다양한 목적으로 사용될 수 있습니다. 단일 호스트 애플리케이션 배포, 자동 테스트 및 로컬 개발이 Docker Compose의 가장 보편적 인 사용 사례입니다.

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

전제 조건

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

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

데비안에 Docker Compose 설치

Docker Compose 설치 패키지는 공식 Debian 9 리포지토리에서 사용할 수 있지만 항상 최신 버전은 아닙니다. 권장되는 방법은 Docker의 GitHub 저장소에서 Docker Compose를 설치하는 것입니다.

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

다음 단계를 수행하여 데비안 9에 최신 버전의 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를 사용하여 Debian 9 컴퓨터에서 WordPress 스택을 관리하는 방법을 보여줍니다.

프로젝트의 디렉토리를 작성하고 변경하여 시작하십시오.

mkdir wordpress_app cd wordpress_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 정책을 사용합니다. 데이터베이스를 유지하기 위해 명명 된 볼륨 db_data 를 작성합니다. mysql:5.7 이미지.

wordpress 서비스:

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

프로젝트 디렉토리에서 다음 명령을 실행하여 WordPress 애플리케이션을 시작하십시오.

docker-compose up

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

… wordpress_1_70f2f980e1fb | AH00163: Apache/2.4.25 (Debian) PHP/7.2.12 configured -- resuming normal operations wordpress_1_70f2f980e1fb | 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 ---------------------------------------------------------------------------------- wordpress_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp wordpress_app_wordpress_1 docker-entrypoint.sh apach… Up 0.0.0.0:8080->80/tcp

서비스 사용을 중지하기 위해 작성이 분리 모드에서 실행중인 경우:

docker-compose stop

docker-compose down

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

docker-compose down --volumes

Docker Compose 제거

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

결론

데비안 9에서 Docker Compose를 설치하고 사용하는 방법을 배웠습니다. 궁금한 점이 있으면 아래에 의견을 남겨주십시오.

도커 데비안