Docker

Docker, docker-compose 應用程序設置

  • April 4, 2016

我開始將我的應用程序遷移到 Docker 容器:我使用 Ngnix、supervisord、gunicorn、python flask、celery、flower、lighttpd、RabbitMQ 和 Postgresql。在我原來的虛擬機中,我將所有配置保存在 /usr/local/src/application/conf/ 在 settings.py 中,我定義了我的:

SQLALCHEMY_DATABASE_URI

在 celeryconfig.py 我定義:

BROKER_URL

我將創建 5 個容器:

  • Ngnix 負載均衡器
  • 燒瓶 API
  • 芹菜
  • 兔MQ
  • 輕量級

我正在使用 docker-compose 和卷。因為現在我所有的 IP 地址都是 localhost (127.0.0.1)

  1. 對於我的每個容器訪問通用配置的建議是什麼?卷?
  2. 我如何知道為每個容器分配了哪個 IP 地址,以便我可以定義我的設置?例如,當 RabbitMQ 啟動時,我應該在 BROKER_URL 中配置什麼 IP?
  3. 由於我的 Docker 應用程序仍將指向我的 git 儲存庫,我可以將它指向我的主機文件夾,我應該在這裡使用卷嗎?

基礎設施

  1. 關於您的配置,您可以直接使用 env_file 為文件或環境傳入 compose 環境變數:https ://docs.docker.com/compose/compose-file/#env-file
  2. 對於 IP,當您在 Compose 中連結容器時,您在 yml 中設置的容器名稱將是該容器的主機名。你不需要IP,只需要使用者名。您可以通過在 compose 容器中執行 exec bash 並嘗試使用其名稱 ping 另一個容器來嘗試此操作。
  3. “指向您的主機文件夾”是什麼意思?請嘗試將盡可能多的內容直接放入容器中,但是如果您確實需要將一些數據提取到主機 FS,那麼是的,您將需要卷。

引用自:https://serverfault.com/questions/757223