假設我的Docker主機上有以下配置文件,並且我希望多個Docker容器能夠訪問此文件。將配置文件共享到多個Docker容器
/opt/shared/config_file.yml
在一個典型的非泊塢環境,我可以使用符號鏈接,使得:
/opt/app1/config_file.yml -> /opt/shared/config_file.yml
/opt/app2/config_file.yml -> /opt/shared/config_file.yml
現在假定APP1和App2的dockerized。我希望能夠在一個地方更新config_file.yml,並讓所有消費者(碼頭集裝箱)都能夠在不需要重建容器的情況下獲取此更改。
我知道符號鏈接不能用於訪問主機上位於泊塢窗容器外部的文件。
浮現在腦海中的前兩個選項分別是:
- 從搬運工主機設置NFS共享,以Docker容器
- 放在一個共享泊塢窗卷的配置文件,並使用搬運工,撰寫到將app1和app2連接到共享配置碼頭
我試圖找出其他選項,然後最終決定最佳的行動方案。
將文件安裝爲卷是您要查找的內容(請參閱@AndyShinn的答案)。爲了擴展到多個容器,你有沒有考慮運行一個配置存儲如consul或etcd的配置?有兼容的模板引擎可以通過配置更改保持容器中的本地文件最新。請參閱:https://github.com/kelseyhightower/confd –
馬克,謝謝你的建議。領事和etcd看起來很有趣。我認爲服務發現/分佈式配置概念可以解決很多這些問題。 – kgx