依赖于其他容器中的文件的Docker容器

我有单一的应用程序,我试图containerize。 foler结构是这样的:

--app | |-file.py <-has a variable foo that is passed in --configs | |-variables.py <- contains foo variable 

现在,我有一个容器中的应用程序和容器中的configuration。 当我尝试启动应用程序容器时,它失败,因为依赖configuration容器variables。

我究竟做错了什么? 我该如何处理这个问题。 应用程序和configuration现在应该在一个大的容器?

我在想Docker-compose可以解决这个问题。 思考?

variables.py文件可以位于( app容器访问的卷中),该容器使用--volumes-from config选项从config容器导入到--volumes-from config docker run 。 使用Docker Compose,您可以使用volumes_from指令。

较less推荐的方式 –

  1. 首先运行configuration容器,它将拥有自己的docker.sock
  2. 你可以通过-v "/var/run/docker.sock:/var/run/docker.sock"在第一个应用程序容器中挂载上面的Docker Socket,这会让应用程序容器访问configuration容器,但是我想这会需要特权访问。
  3. 这与Docker概念中的Docker类似。

您也可以考虑通过HTTP服务foovariables来改变应用程序的devise,这将导致更简单的解决scheme。 您可以在Python中使用简单的Web服务器和urllib3模块,以获得一个简单的解决scheme,通过内部Dockernetworking提供variables。