3
A
回答
2
您可以使用docker-compose
文件與depends_on
選項來控制容器啓動順序
這裏是如何docker-compose.yml
爲你的例子看起來像:
version: '3'
services:
X:
image: X_image
Y:
image: Y_image
depends_on: X
Z:
image: Z_image
depends_on: Y
備註:
depends_on
不會等待fo在Y開始之前,X必須「準備就緒」 - 直到它運行。如果您需要等待服務準備就緒,請參閱Controlling startup order瞭解有關此問題的更多信息以及解決此問題的策略。
2
你應該考慮重新設計應用程序的部分,如果他們有這樣沉重的依賴,那麼他們也許應該不能被分割到不同的容器或者你應該使用一些decoupeling避免
你可以做的是:
- 有一個或多個init containers
- 是否在每個容器的entrypoint script其阻斷,直到依賴已經解決
- 實現外噸的東西他控制哪個吊艙啓動。
- 寫custom controller
+0
很好的建議。帶有睡眠的入口點腳本是一種可行的解決方案。理想情況下,容器Z中的應用程序會嘗試以合理的間隔重新連接到容器Y,直到找到它。這將使整個基礎設施更加健壯。 – mkasberg
相關問題
- 1. 在Docker容器中運行PHPUnit並啓動容器取決於:
- 2. 從通過組合啓動的容器訪問正在運行的容器
- 3. 在另一個容器內運行一個容器的命令
- 4. 停止搬運工容器後,以前運行的容器不能啓動
- 5. 類型只在運行時才知道的均勻容器
- 6. 在Docker容器上運行svn更新腳本啓動
- 7. 在只讀Docker容器中運行python
- 8. Docker容器不boot2docker啓動運行
- 9. Dockerfile CMD沒有在容器啓動時運行
- 10. 只有在mysql運行之後,才能在windows啓動時運行java程序?
- 11. 在Dockerfile中運行一個命令__after__啓動一個鏈接的容器
- 12. 在Docker容器上啓動github
- 13. 配置fig以在另一個容器之前運行一個容器
- 14. 以編程方式在Google容器引擎上運行容器
- 15. 只有自動進入運行搬運工容器
- 16. 如何從另一個容器啓動兄弟容器卷?
- 17. 在同一個docker網絡上運行多個容器localhost
- 18. Spring XD將在多個容器上運行一個模塊
- 19. 在Python容器中運行蒸餾器是依賴於一個MySQL容器
- 20. docker-compose,容器啓動後運行腳本?
- 21. 運行預加載只有內容沒有在瀏覽器中
- 22. 在Servlet 2.4容器上運行JSF 2.0
- 23. 在docker窗口上運行linux容器
- 24. 在lxc容器上運行qtcreator 4.0.1
- 25. Docker容器在Ubuntu上運行,但無法在MacOS上運行
- 26. 錯誤時啓動一個容器
- 27. Docker swarm只能在容器運行的節點上訪問
- 28. 如何在另一個分區上運行docker LXC容器?
- 29. 如何在Docker容器中啓動時運行服務
- 30. 如何配置docker容器在啓動時運行/ usr/sbin/sshd
你似乎是新的StackOverflow的 - 問什麼之前,好的建議是看看到[如何提問](http://stackoverflow.com/help/how-to-ask)指南。 – pagid
嗨,你有沒有找到一個適合你的解決方案? – pagid