一、服務編排概念
微服務架構的應用系統中一般包含若干個微服務,每個微服務一般都會部署多個例項,如果每個微服務都要手動啟停,維護的工作量會很大。
- 要從Dockerfile build image 或者去dockerhub拉取image
- 要建立多個container
- 要管理這些container(啟動停止刪除)
服務編排:按照一定的業務規則批次管理容器
二、Docker Compose 概述
1、介紹
Docker Compose是一個編排多容器分散式部署的工具,提供命令集管理容器化應用的完整開發週期,包括服務構建,啟動和停止。使用步驟:
1. 利用 Dockerfile 定義執行環境映象
2. 使用 docker-compose.yml 定義組成應用的各服務
3. 執行 docker-compose up 啟動應用
2、安裝使用
1. 安裝Docker Compose
# Compose目前已經完全支援Linux、Mac OS和Windows,在我們安裝Compose之前,需要先安裝Docker。下面我 們以編譯好的二進位制包方式安裝在Linux系統中。 curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 設定檔案可執行許可權 chmod +x /usr/local/bin/docker-compose # 檢視版本資訊 docker-compose -version
2. 解除安裝Docker Compose
# 二進位制包方式安裝的,刪除二進位制檔案即可
rm /usr/local/bin/docker-compose
3. 使用docker compose編排nginx+springboot專案
3.1 建立docker-compose目錄
mkdir ~/docker-compose
3.2 編寫 docker-compose.yml 檔案
version: '3' services: nginx: image: nginx ports: - 80:80 links: - app volumes: - ./nginx/conf.d:/etc/nginx/conf.d app: image: app expose: - "8080"
3.3 建立./nginx/conf.d目錄
mkdir -p ./nginx/conf.d
3.4 在./nginx/conf.d目錄下 編寫itheima.conf檔案
server { listen 80; access_log off; location / { proxy_pass http://app:8080; } }
3.5 在~/docker-compose 目錄下 使用docker-compose 啟動容器
docker-compose up
3.6 測試訪問
http://192.168.149.135/hello
三、案例