1. 程式人生 > 其它 >Docker入門(六):Docker服務編排

Docker入門(六):Docker服務編排

1. 服務編排概念

微服務架構的應用系統中一般包含若干個微服務,每個微服務一般都會部署多個例項,如果每個微服務都要手動啟停,維護的工作量會很大。

  • 要從Docekerfile 構建映象或者docker倉庫拉取映象

  • 要建立多個容器

  • 要管理這些容器

    服務編排:按照一定的業務規則批量管理容器

Docker Compose

Docker Compose是一個編排多容器分散式部署的工具,提供命令集管理容器化應用的完整開發週期,包括服務構建,啟動和停止。使用步驟:

1.利用Dockerfile定義執行環境映象
2.使用docker-compose.yml定義組成應用的各服務
3.執行docker-compose up啟動應用

Docker Compose安裝使用

  • 安裝 Docker Compose

      #Compose目前已經完全支援Linux、MacOS 和Windows,在我們安裝Compose之前,需要先安裝Docker
    

    curl -L https://github.com/docker/compose/release/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

  • 解除安裝Docker Compose

      #二進位制包方式安裝的,刪除二進位制檔案即可
      rm /usr/local/bin/docker-compose
      
  • 使用docker compose編排nginx + springboot專案

    1.建立docker-compose目錄

      mkdir ~/docker-compose
      cd ~/docker-compose
      

    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.建立./nginx/conf.d目錄

      mkdir -p ./nginx/conf.d
      

    4.在./nginx/conf.d目錄下編寫itheima.conf檔案

      server {
        listen 80:
        access_log off;
      
        location / {
      	proxy_pass http://app:8080;
        }
      }
      

    5.在~/docker-compose目錄下使用docker-compose啟動容器

      docker-compose up
      

    6.測試訪問

      http://ip/hello