将在docker中运行的Angular / NodeJS存储库的结构

时间:2016-01-15 14:55:25

标签: angularjs node.js nginx docker

我们拥有一个用Angular编写的应用程序的存储库。 它需要一个带有nginx的docker容器来托管。 nodejs需要一个nodejs的docker容器,所以我们的应用程序将被拆分为2个容器,这些容器将被链接。

所以要编写2个dockerfiles(每个图像一个),我们必须在我们的仓库中拆分文件夹,如:

    • Angular:包含nginx的dockerfile

    • NodeJS:包含nodejs的dockerfile

但问题是他们都需要package.json。 (Angular for devdependencies和NodeJS for dependencies)。

您应用程序的仓库中哪个是最好的结构?

1 个答案:

答案 0 :(得分:0)

如果您愿意,Nginx和Nodejs容器可以在Docker Compose中共享卷。您可以使用volumes_from参数。它将从另一个服务或容器挂载所有卷,可选择指定只读访问(ro)或读写(rw)。 https://docs.docker.com/compose/compose-file/

    volumes_from:
      - service_name
      - container_name
      - service_name:rw

在您的情况下,package.json可以在您的Nodejs容器中,但是Nginx容器也可以使用此参数访问它。