小编wav*_*der的帖子

向 Docker 容器提供配置文件的推荐方式

我正在将我们的 Web 应用程序转移到 docker-compose 部署(Django、DRF、AngularJS)。

Docker 现在看起来很稳定,一切进展顺利。

我想要:

  • 与您确认我正在遵循有关应用程序配置文件的最佳实践
  • 知道“卷文件”是否实际上是绑定挂载,不推荐这样做

我已经设法使用环境变量和从 Djangosettings.py文件读取的 docker-compose 机密,并且它可以工作。缺点是环境变量仅限于简单的字符串,并且在发送 Python 列表、字典等时可能会带来一些转义挑战。我们还必须定义和维护大量环境变量,因为我们的 Web 应用程序安装在很多地方并且具有高度可配置性。

在前端(AngularJS),我们有两个constants.js文件和 nginx conf。我在 Dockerfile 中使用过CMD ["/start.sh"]并有一些sed命令。但这看起来真的很黑客,这也意味着我们必须定义和维护相当多的环境变量。

  1. 对于这些配置文件使用 Docker 卷是个好主意吗?

  2. “卷文件”之类的东西是否确实存在此处提到)或者它实际上是绑定安装?绑定挂载不太推荐,因为它们依赖于主机上的文件系统和文件路径。

Volumes 文档简要提到了文件:“文件或目录在容器中安装的路径”,但没有详细介绍。

我们的网络应用程序现在有简单的配置文件:

  • settings.py
  • site\contants.js
  • admin\constants.js

和:

  1. 我想避免将这些文件移动到可以安装的专用目录。

  2. 您能给我展示一个带有单个文件卷(不是绑定安装)的示例 docker-compose.yml 吗

谢谢

django volumes docker docker-compose

5
推荐指数
1
解决办法
8926
查看次数

标签 统计

django ×1

docker ×1

docker-compose ×1

volumes ×1