我正在将我们的 Web 应用程序转移到 docker-compose 部署(Django、DRF、AngularJS)。
Docker 现在看起来很稳定,一切进展顺利。
我想要:
我已经设法使用环境变量和从 Djangosettings.py
文件读取的 docker-compose 机密,并且它可以工作。缺点是环境变量仅限于简单的字符串,并且在发送 Python 列表、字典等时可能会带来一些转义挑战。我们还必须定义和维护大量环境变量,因为我们的 Web 应用程序安装在很多地方并且具有高度可配置性。
在前端(AngularJS),我们有两个constants.js
文件和 nginx conf。我在 Dockerfile 中使用过CMD ["/start.sh"]
并有一些sed
命令。但这看起来真的很黑客,这也意味着我们必须定义和维护相当多的环境变量。
对于这些配置文件使用 Docker 卷是个好主意吗?
“卷文件”之类的东西是否确实存在(此处提到)或者它实际上是绑定安装?绑定挂载不太推荐,因为它们依赖于主机上的文件系统和文件路径。
Volumes 文档简要提到了文件:“文件或目录在容器中安装的路径”,但没有详细介绍。
我们的网络应用程序现在有简单的配置文件:
settings.py
site\contants.js
admin\constants.js
和:
我想避免将这些文件移动到可以安装的专用目录。
您能给我展示一个带有单个文件卷(不是绑定安装)的示例 docker-compose.yml 吗?
谢谢