實戰---在Portainer中編排docker-compose.yml文件


選擇要部署容器的主機上,不用事先安裝配置docker-compose

官方示例文檔地址,2.0版本的:https://docs.docker.com/compose/compose-file/compose-file-v2/




使用這個功能創建的docker容器,使用的容器卷是在:/var/lib/docker/volumes路徑下

docker-compose.yml使用的鏡像,優先查找本地,若本地有,則使用,沒有則從Docker Hub上拉取,所以若想使用私有倉庫的鏡像,需要提前從私有倉庫中把鏡像給拉取到本地

如上這個只是最簡單的,通過在Portainer上的stack功能編寫docker-compose.yml內容,使用自定義的eureka鏡像,啟動一個容器。

使用docker命令查看

完整操作

先從私有倉庫把鏡像拉取到本地


編寫docker-compose.yml文件

這里只給eureka服務映射端口

  • 默認網絡使用的是bridge(橋接)
  • 容器的日志驅動是json-file
version: "2.0"

services:
    hkd-eureka:
        image: idocker.io/hkd-eureka:0.1
        ports:
            - "8761:8761"
        volumes:
            - /tmp
            - /opt/hkd-cloud/hkd-eureka/logs
    hkd-config:
        image: idocker.io/hkd-config:0.1
        volumes:
            - /tmp
            - /opt/hkd-cloud/hkd-config/logs
    hkd-gateway:
        image: idocker.io/hkd-gateway:0.1
        volumes:
            - /tmp
            - /opt/hkd-cloud/hkd-gateway/logs
    hkd-auth:
        image: idocker.io/hkd-auth:0.1
        volumes:
            - /tmp
            - /opt/hkd-cloud/hkd-auth/logs
    hkd-user:
        image: idocker.io/hkd-user:0.1
        volumes:
            - /tmp
            - /opt/hkd-cloud/hkd-user/logs       
    hkd-portal:
        image: idocker.io/hkd-portal:0.1
        volumes:
            - /tmp
            - /opt/hkd-cloud/hkd-portal/logs       
    hkd-custom:
        image: idocker.io/hkd-custom:0.1
        volumes:
            - /tmp
            - /opt/hkd-cloud/hkd-custom/logs 
    hkd-cash:
        image: idocker.io/hkd-cash:0.1
        volumes:
            - /tmp
            - /opt/hkd-cloud/hkd-cash/logs             




問題

1.有些服務是需要先啟動的,也就是說有些服務是依賴其他服務的,需要做進一步的調整
想上述那樣的,只有eureka和config兩個啟動了,其余的啟動后失敗了,因為他們需要往eureka注冊中心注冊,但是eureka注冊中心正在啟動中,導致沒法注冊

目前采取的辦法是,等eureka啟動后可以訪問了,再把啟動失敗的服務手動再啟動一次

暫時沒想到用啥辦法解決這個依賴關系

2.沒有創建使用額外的網絡空間,不過這個可以等服務都啟動好了,再手動把服務添加到自定義的網絡空間

3.假若鏡像更新了,服務如何更新


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM