我需要使用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 Web服务器,我将需要将每个Docker容器映射到不同的端口,否则我错了吗?
我很确定我的猜测在第二点上是正确的,但是对于第一点,我不知道如何实现.任何例子都会对我有很大帮助,我将不胜感激.
$docker-machine创建
(文档:https://docs.docker.com/machine/reference/create/)
如何创建Docker机器,您可以在这里阅读:https://docs.docker.com/machine/get-started/
完成之后,每个开发人员都可以使用ssh通过ssh连接到他的docker-machine.
$docker-machine ssh< machineName>
命令. (Docker文档:https://docs.docker.com/machine/reference/ssh/)
另外,也可以像使用本地机器一样,在显影盒上使用机器
$docker-machine env
命令. (Docker Docs:在这里:https://docs.docker.com/machine/reference/env/)
希望对您有所帮助或使您有所了解.
最好的祝福,
卡乐