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

时间:2017-05-03 14:32:40

标签: docker docker-compose

我需要使用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的优势(只需提一个就可以轻松切换工具)。

我以前从未这样做过,所以我目前的问题是:

  • 我应该如何在容器上设置网络,以便每个开发人员通过自己的域访问?例如:dev1.box.com(将访问cont_dev1),dev2.box.com(将访问cont_dev2)等等
  • 我担心如果我正在运行Apache | Nginx webserver我需要将每个docker容器映射到不同的端口,否则我错了?

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

1 个答案:

答案 0 :(得分:3)

您可以使用

为开发人员框中的每个开发人员创建一个docker-machine

$ docker-machine create

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

如何创建可在此处阅读的泊坞机:https://docs.docker.com/machine/get-started/

完成此操作后,每个开发人员都可以通过ssh连接到他的docker-machine,方法是使用

$ docker-machine ssh <machineName>

命令。 (Docker Docs:https://docs.docker.com/machine/reference/ssh/

也应该可以使用

在开发者盒子上使用机器,就像使用本地机器一样

$ docker-machine env

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

希望有助于或让您了解自己可以做些什么。

最诚挚的问候, 卡勒