Docker堆栈中容器的存储/管理配置在哪里?

时间:2019-02-09 20:55:08

标签: reactjs docker docker-compose docker-stack

我正在基于React开发一个Web应用程序。该应用程序应能够在生产中作为Docker容器运行。我在存储库中创建了一个.env.development文件,可以在其中配置应用程序将连接到的API端点。

REACT_APP_API_BASE_URL=http://localhost:8180/api

以这种方式在我的本地计算机上运行容器可以正常工作。

现在,我想在Docker堆栈中运行此容器,因此我配置了docker-compose.yml

  1. 我应该在哪里以及如何存储/管理以上配置,以便Docker堆栈将其提取?是否有类似“推荐方式”的内容?
  2. environment的{​​{1}}部分中定义此参数是否足够?还是我需要使用诸如Docker config甚至Docker Secrets之类的东西?

1 个答案:

答案 0 :(得分:1)

如果我们订阅“一次构建,随处运行”的方法,那是对的,我们的目标应该是一次构建容器,并通过修改其环境变量在任何环境中运行它。

修改环境变量并不一定意味着将值(例如API密钥)直接传递到应用程序,但是您可以使用环境变量来指向vaultetcd服务并使用这些工具可以引导您的应用程序并构建您的配置文件。

我建议(使用ENTRYPOINT向您的容器添加一个初始化层,以便在触发CMD之前对应用程序进行配置。设置数据库连接,预热缓存或安装依赖项都可以。

您当然可以用不好的切入点将自己打死。请务必查看一些受欢迎的图像,以了解它们如何处理这些情况-postgres是一个很好的图像。