Docker
Docker, docker-compose 應用程序設置
我開始將我的應用程序遷移到 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)
- 對於我的每個容器訪問通用配置的建議是什麼?卷?
- 我如何知道為每個容器分配了哪個 IP 地址,以便我可以定義我的設置?例如,當 RabbitMQ 啟動時,我應該在 BROKER_URL 中配置什麼 IP?
- 由於我的 Docker 應用程序仍將指向我的 git 儲存庫,我可以將它指向我的主機文件夾,我應該在這裡使用卷嗎?
- 關於您的配置,您可以直接使用 env_file 為文件或環境傳入 compose 環境變數:https ://docs.docker.com/compose/compose-file/#env-file
- 對於 IP,當您在 Compose 中連結容器時,您在 yml 中設置的容器名稱將是該容器的主機名。你不需要IP,只需要使用者名。您可以通過在 compose 容器中執行 exec bash 並嘗試使用其名稱 ping 另一個容器來嘗試此操作。
- “指向您的主機文件夾”是什麼意思?請嘗試將盡可能多的內容直接放入容器中,但是如果您確實需要將一些數據提取到主機 FS,那麼是的,您將需要卷。