我有单一的应用程序,我试图容器化。 foler结构是这样的:
--app
|
|-file.py <-has a variable foo that is passed in
--configs
|
|-variables.py <- contains foo variable
现在,我将应用程序放在容器中,将容器放在容器中。当我尝试启动应用程序容器时,它会失败,因为它依赖于配置容器变量。
我做错了什么?我应该如何处理这个问题。应用程序和配置现在应该放在一个大容器中吗?
我以为docker-compose可以解决这个问题。想法?
答案 0 :(得分:1)
variables.py文件可以是({in)由app
容器访问的卷,该容器从config
容器导入--volumes-from config
选项到docker run
。使用Docker Compose,您将使用volumes_from
指令。
答案 1 :(得分:-1)
不太推荐的方式 -
docker.sock
。-v "/var/run/docker.sock:/var/run/docker.sock"
将上述Docker Socket挂载到第一个应用容器中,这将让App容器访问Config容器,但我认为这需要特权访问。 您还可以通过在HTTP上提供foo变量来考虑应用程序的设计更改,这将导致更简单的解决方案。您可以在Python中使用简单的Web服务器和urllib3模块,以获得一个简单的解决方案,通过内部Docker Networking为变量提供服务。