如何在同一主机上为多个开发人员设置多个Docker容器?

我需要使用Docker设置开发者框,这意味着我将有:

  • 运行相同环境的不同容器
  • 不同的开发人员访问每个容器

这是一个设置,其中多个容器将在“中央服务器”中运行,开发人员将通过SSH或Samba或任何其他方式(尚未定义)连接到此“中央服务器”。

以此为例:

/home/dev1/sources /home/dev2/sources cont_dev1 (volumes) => /home/dev1/sources:/var/www/html | port: 8080 | URL: http://dev1.box.com cont_dev2 (volumes) => /home/dev2/sources:/var/www/html | port: 8081 | URL: http://dev2.box.com 

box.com是分配给“中央服务器”的外部IP地址的域。

这背后的想法不是在服务器本身上安装开发工具,所以我们可以利用Docker的优势(在工具之间轻松切换)。

我从来没有这样做过,所以我现在的问题是:

  • 我应该如何在容器上设置networking,以便每个开发人员通过他自己的域访问? 例如:dev1.box.com(将访问cont_dev1),dev2.box.com(将访问cont_dev2)等等
  • 我害怕,如果我正在运行Apache | Nginxnetworking服务器我需要将每个docker集装箱映射到不同的端口,或者我错了?

我很确定我的猜测是正确的第二点,但对于第一点,我不知道如何实现它的线索。 任何例子都会帮助我很多,我会非常感激。

您可以使用开发人员箱中的每个开发人员创build一个docker机

$ docker-machine create

(文档: https : //docs.docker.com/machine/reference/create/ )

如何创build一个docker机,你可以在这里阅读: https : //docs.docker.com/machine/get-started/

在你这样做后,每个开发者都可以通过ssh连接到他的docker-machine,通过使用

$ docker-machine ssh <machineName>

命令。 (Docker文档: https : //docs.docker.com/machine/reference/ssh/ )

另外它应该是可能的,使用开发人员的机器像他本地的一个使用的

$ docker-machine env

命令。 (Docker文档: https : //docs.docker.com/machine/reference/env/ )

希望能帮助或给你一个想法,你可以做什么。

最好的问候,卡勒