我仍然嘗試理解 docker 幫助 portainer 的一些事情,但我找不到 tuto:
1 - 持久數據:我想運行具有持久資料庫的 Mariadb 容器。所以我想在我的/home/user
.不幸的是,掛載點總是在/var/lib/docker/volumes
etc。
2 - 連結:假設我成功運行具有持久資料庫的 mysql 容器,我想將 nginx 容器(具有持久性資料/home/mountpoint:/data/www
)連結到具有環境變數的 mysql 容器(以 docker compose 為例:https://github.com/dadeg/docker-compose-nginx-php7-mysql/blob/master/docker-compose.yml)。我注意到網頁選項,但我認為它沒有幫助...如何連結容器並使用更多環境變數建立模板?
Docker-compose 可能是更好的方法嗎?
預先感謝您的任何幫助。
jB
答案1
當您透過 Docker 或 Portainer 建立磁碟區時,預設情況下該磁碟區將儲存在/var/lib/docker/volumes
主機上。所以這是預設且正確的行為。
如果要綁定db
透過 Portainer 呼叫的捲,請先建立一個磁碟區。然後進入容器>新增容器>在此處指定您的名稱/映像>在磁碟區選項卡中,您將能夠將剛剛建立的磁碟區綁定到容器中的路徑。
現在,關於 Ningx 和資料庫之間的連結。我建議您在這裡利用 Docker 網路的 DNS。
首先,建立一個新網路(my-app
例如呼叫它)。然後,在此網路中部署資料庫和 Nginx 容器。 Docker DNS 將自動賦予同一網路內的容器使用其容器名稱進行通訊的能力。因此,如果您已命名資料庫容器db
和 Nginx 容器nginx
,那麼您將能夠進行 ping 操作db
,nginx
反之亦然。