簡體   English   中英

將配置文件共享到多個docker容器

[英]Sharing a configuration file to multiple docker containers

假設我的Docker主機上有以下配置文件,並且我希望多個Docker容器能夠訪問此文件。

/opt/shared/config_file.yml

在典型的非Docker環境中,我可以使用符號鏈接,例如:

/opt/app1/config_file.yml -> /opt/shared/config_file.yml
/opt/app2/config_file.yml -> /opt/shared/config_file.yml

現在假設app1和app2是docker化的。 我希望能夠在一個地方更新config_file.yml並讓所有使用者(docker容器)獲取此更改,而無需重建容器。

我知道符號鏈接不能用於訪問Docker容器之外的主機上的文件。

想到的前兩個選項是:

  1. 設置從docker主機到docker容器的NFS共享
  2. 將配置文件放在共享的Docker卷中,並使用docker-compose將app1和app2連接到共享配置docker

我試圖找出其他選擇,然后最終決定最佳行動方案。

主機安裝卷怎么樣? 如果每個應用程序只讀取配置,並且要求它位於容器內的不同位置,則可以執行以下操作:

docker run --name app1 --volume /opt/shared/config_file.yml:/opt/app1/config_file.yml:ro app1image
docker run --name app2 --volume /opt/shared/config_file.yml:/opt/app2/config_file.yml:ro app2image

主機上的文件可以安裝在每個容器的單獨位置。 在Docker 1.9中,您實際上可以從特定插件中獲取任意卷來保存數據(例如Flocker )。 但是,這兩種解決方案仍然是每個主機,並且數據不能同時在多個主機上使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM