11.1 고정 표시기 소개 구성
지식 습득 이전의 쇼를 바탕으로, 고정 표시기 응용 프로그램을 배포하는 데 사용하는, 우리가 처음 응용 프로그램에 Dockerfile를 작성해야 원하는 이미지를 구축하는 파일입니다. 마이크로 서비스가 프로젝트에 마찬가지로, 우리는 또한 각 서비스에 대한 Dockerfile 파일을 작성해야 이미지를 구축. 빌드가 완료되면, 각 고정 표시기 실행 또는 고정 표시기 서비스에 따라 거울을 사용할 수 있습니다 우리는 서비스 컨테이너에 액세스 할 수 있습니다 그래서하는 명령 및 발사 컨테이너를 생성 만들 수 있습니다. 마이크로 서비스 아키텍처 : 엄청난 수의 관련 서비스의 수. 이와 같이 마이크로 서비스 사업을 전개 할 수 있지만, 마이크로 서비스 사업을 고려하여 다수의 서브 서비스 조성물을 가질 수 있으나 , 각 서비스 시작 과정은 -e 구성 환경 변수로 추가 파라미터 (구성해야 - 네트워크 지정된 네트워크 네트워크 ) 등등 디스크를 탑재합니다. 이 경우, 각각의 마이크로 업데이트 서비스 후, 수동으로 실행 다시 시작 명령을 할 매우 골칫거리가 될 것처럼 보였다 선박. 멀티 서비스 구축의 경우를 들어, 고정 표시기 도커 제공하는 멀티 서비스 애플리케이션의 통합 배치를 위해 작성 레이아웃 도구를. 작성은 도커 서비스 오케스트레이션 작업입니다 도커을 기반으로 복잡한 응용 프로그램이 작성 프로필의 복수에 의해 관리 주로 들어, 도구 도커 용기,이 장면 용기 개발의 복수의 조합에 매우 적합합니다. 이 배열 도구를 사용하면 응용 프로그램 서비스를 구성 YML (또는 YAML) 파일을 사용하고 단지 간단한 필요로 할 수 있는 모든 서비스를 하나의 서비스 배포 지침이 구성에서 생성 될 수 있으며, 시작합니다.
11.2 고정 표시기 설치 및 제거를 구성
설치 고정 표시기의 작성
1. 환경 요구 사항 : 도커 작성 도커 그렇게 도커 작성을 설치하기 전에, 엔진에 의존는
반드시 기계가 부두 노동자가 설치되어 있는지 확인하십시오. https://github.com/docker/compose/releases
(고정 표시기의 작성 버전을 참조)
2, 다운로드 고정 표시기-작성 도구
컬 -L
https://github.com/docker/compose/releases/download/1.24.0/docker -
작성-`uname -s` -O-`uname -m` / usr / 지방 / 빈 / 도커 작성-
3, 실행 파일 권한 설정 고정 표시기를 구성한다.
chmod를 + X / usr / 지방 / 빈 / 작성 Docker-
R & LT : W 읽기 : 쓰기 X : EX
. 4, 작성 버전 고정 표시기를 참조
도커 --- 버전 작성을
하역 고정 표시기 구성 :의 PS는
sudo는 RM은 / usr / 지방 / 빈 / 도커-작성
11.3 고정 표시기 작성을 사용
11.3.1 예
단계 : 세 단계 (만든 빈 디렉토리에서 실행)
1, 쓰기 Dockerfile 파일 (각 서비스의 요구가 거울을 구축하기 위해, 쉽게 마이그레이션 - 필요하지 않습니다)
2, 쓰기 고정 표시기-compose.yml 파일 (작성 배포 서비스 관련 지침을)
3, 실행 고정 표시기-구성) YML 파일 서비스를 시작 (최대
경우 :
1, 준비하는 두 개의 거울 (이 데모는 Dockerfile a로 구성되지 않음)
도커의 풀 MySQL은 : 5.7
부두 노동자의 풀 워드 프레스
2, 작성해야 예를 들어 rwtest 빈 디렉토리. : 편집, 파일 고정 표시기 - compose.yml 만들기
버전 : '3.'
서비스 :
DB를 :
이미지 : MySQL이 : 5.7
볼륨 :
- DB_DATA을 경우 : / var / lib 디렉토리 / MySQL을
다시 시작 : 항상
환경 :
MYSQL_ROOT_PASSWORD : 워드 프레스
MYSQL_DATABASE : 워드 프레스
mysql_user : 워드 프레스
MYSQL_PASSWORD : 워드 프레스
워드 프레스 :
depends_on :
- DB
이미지 : 워드 프레스 : 최신
포트 :
- "8001 : 80"
다시 시작 : 항상
환경 :
WORDPRESS_DB_HOST : DB : 3306
WORDPRESS_DB_USER : 워드 프레스
WORDPRESS_DB_PASSWORD : 워드 프레스
볼륨 :
DB_DATA : 파일 내용 : 새로운 워드 프레스 DB 및 용기. :에 해당 DB = -d -e MYSQL_ROOT_PASSWORD의 MySQL 123456 도커 RUN은 --name 도커 RUN 일부 워드 프레스는-DB를 --link --name : MySQL의 -p 8002 : 80 -d 워드 프레스 . 3, 작성 시작 도커 도커 작성 업 . 4, 브라우저 액세스 : HTTP : // IP : 8001 (5), 정지 / 다시 시작 서비스 : 고정 표시기-작성 중지 / 재시작
11.3.2 고정 표시기의 작성 지침
1 버전이 '3'
(2 개) 서비스 :
3 웹 :
4 이미지 : ID / 참고 ImageName : lable가
5 다시 시작에 실패
6 CONTAINER_NAME 내 웨브 컨테이너
7 개 포트 :
8 - 8080 : 8080 개
9 네트워크 :
10 - 예 넷
11 depends_on :
12 - DB
13 배포 :
14 복제본 2
15 restart_policy :
16 조건 : ON- 고장
17dB :
18 화상 : MySQL을 5.6
19 다시 시작에 실패
20 CONTAINER_NAME 내-MySQL을 용기
(21 개) 포트 :
22 - 3306 : 3306
23 권 :
(24) - 예를 들어 - MySQL은 :은 / var / LIB / MySQL을
25 개 네트워크 :
26 - 예를 그물
(27) 환경 :
28 MYSQL_ROOT_PASSWORD : 루트
29 MYSQL_DATABASE : mysql_database
30 배포 :
31 복제본 : 1
32 restart_policy :
33 조건 : ON- 고장
34 게재 :
35 개 제약 [node.role == 관리자]
36 개 네트워크 :
37 예 그물 :
38 개 부피 :
39-MySQL의 예 :
-
버전하십시오 고정 표시기 - compose.yml 파일의 맨 위에 보통 버전이 용지를 표시하는 데 사용 제한 버전 내용 (같은 XML 문서 제약) (상위 버전을 더 많은 명령에 대한 지원)
-
서비스를 선언하는 데 사용 서비스 등의 서비스 대신에 두 서비스의 이름 아래에 들여 쓰기와 모든 응용 프로그램을 웹과 DB 위의 예이다. 멀티 서비스 구축을 수행 할 때, 많은 서비스를 배포해야하는지, 다음과 같은 성명에서 서비스 및 서비스 매개 변수의 수를 구성해야
-
이미지 : 시작 컨테이너 (없는 경우 자동으로하는 지역 당겨) 거울에 의존해야
-
다시 시작 : 서비스 전략을 다시 시작
-
다시 시작 : "NO"# 서비스의 기본 서비스가 실패한 후 어떤 조치없이, 즉, '노
-
다시 시작 : 항상 # 서비스가 다시 시작되었을 것입니다 나타냅니다
-
다시 시작 다시 시작하라는 메시지가 표시되면 #은 서비스 실패 오류를 나타냅니다에 실패
-
다시 시작 만 서비스를 중지 한 후 다시 시작됩니다 # 수단을 제외하고는-중지
-
-
CONTAINER_NAME : 지정된 컨테이너의 이름
-
포트 : 지정 서비스 포트 외부 노출
-
네트워크 : 지정된 컨테이너를 사용하여 네트워크
-
depends_on : 너무 서비스가 웹의 예에서와 같이 종속성 서비스의 결정에 따라이 DB를 의존 DB 서비스가 처음 웹 서비스를 시작합니다,하지만 웹 서비스 시작하기 전에 성공적으로 완료 시작되지 평균 DB 서비스 수행 작품, 그것은 단지 시작하기로 결정 순서 만
-
배포 : 배포 도커 작성 파라미터는 스웜 클러스터 배포에 제공되며, 서브 - 파라미터 구체적 서비스 관련 구성으로 배치 및 실행
-
복제본 : 서비스 인스턴스의 복사본의 수를 나타냅니다
-
restart_policy : 이전에 기술과 유사한 매개 변수 estart_policy 다시 시작은 구성하는 데 사용됩니다 다시 시작 전략 서비스,하지만 배포 구성 매개 변수에이 속성, 단지 클러스터 환경 팽창에 영향을. 파라미터는 하위 속성 및 복수의 속성 값을 포함
-
조건 #가 서비스 재개 조건을 나타내는 온 고장 값 없음 실패 온되고 모든
-
지연 : 5 초 # 사이의 대기 시간이 서비스를 다시 시작 나타내며, 기본값은 0
-
MAX_ATTEMPTS : 3 # 실패 후 다시 시작하려고 시도의 수를 나타냅니다
-
창 120S 번호 서비스가 성공적으로 시작 여부를 결정하기 위해 기다리는 시간을 나타냅니다
-
-
위치 : 스웜 클러스터 링에서 봉사하고있는 동안 구성 제약 배치는, 위치를 지정 무작위로 관리 노드와 다른 노드에 대한 작업에 할당됩니다 경계에 배포 할 때. 상기 예에서, 이후 원시 데이터의 MySQL 예-MySQL의 데이터 볼륨에 탑재 배치의 사용 제한의 서브 파라미터 : node.role == 매니저]은 파이프 서비스 매니저를 지정 실행 관리 노드 :
-
-
필요한 환경 변수에 대한 환경은 서비스 시작을 구성 할 때. 위의 예로서 MYSQL_ROOT_PASSWORD 루트 암호 데이터베이스를 나타냅니다 MYSQL_DATABASE 테이블 데이터베이스는 자동으로 표시 데이터베이스를 시작한 후 생성됩니다.
-
-
네트워크 : 네트워크 구성 서비스
-
볼륨 : 디렉토리가 장착되어, 위의 예는 지역 예 - MySQL의 데이터 볼륨에 MySQL의 데이터를 장착하는 데이터 볼륨이 존재하지 않는 경우, 때 서비스가 시작 기본적으로 생성됩니다,
: 다른 구성을 참조 할 수 https://docs.docker.com/compose/compose-file/