我容納了一個具有容器依賴關係的Web應用程序。容器配置和啓動的Docker依賴設計
容器在這裏列出它們的依賴順序,後者依賴於前者。
有一個mysql容器編譯mysql,安裝它並配置它。
有一個learnintouch容器,它將定製產品數據文件和種子定製到mysql容器中。
有一個learnintouch.com容器,它將自定義網站數據的文件和種子安裝到mysql容器中。
數據種子是應用程序安裝的一部分,只需在應用程序生命週期中進行一次即可。
數據播種相當長,實際上很長。
將應用程序創建並由位於learnintouch.com目錄中的docker-compose.yml文件啓動將是一件好事。首先,我希望只有三個容器,所有依賴項,每個依賴容器等待其依賴項完成其數據播種,然後運行自身,最後啓動應用程序。
我現在看到這將很難實現,如果不是不可能的話。碼頭合成等待啓動服務已經非常困難,但更重要的是要檢查數據傳播是否已完成。
我認爲一種方法是在容器依賴樹中有兩個分支,一個用於應用程序安裝,執行數據播種,另一個只啓動應用程序。
這是常見的做法嗎?
當你說'你可能有幾個組合文件',你的意思是幾個docker-compose.yml文件?我以爲每個目錄只能有一個?我有一個目錄的Docker容器。我想知道如何運行幾個Docker Compose文件。 – Stephane
你可以運行'docker-compose -f docker-compose.dev.yml'來運行你的dev docker-compose文件。爲避免在同一環境中運行多個組合時發生衝突,您還需要使用'docker-compose -p dev -f docker-compose.dev.yml up'來更改項目。這就是如果一切都在同一個目錄中。你總是可以組織不同的目錄。 – BMitch
好的,看到你的一個示例項目會很有趣,關於容器傾聽其依賴性的部分將在網上發佈,並且反過來非常整潔。我會嘗試閱讀如何在微服務docker然後。 – Stephane