我有一个侦听端口8080的容器。我想在同一主机上启动同一容器的3个实例,而不必进行端口转发。我想使用唯一的IP访问每个实例。
我正在通过Boot2Docker运行Docker,因为我在Mac机器上运行它。我不打算运行Boot2Docker的多个实例,因为它是内存密集型的。
我不想进行端口转发的原因是因为我的应用程序是分布式应用程序。集群中的每个节点都假定其对等体在同一端口上运行。
答案 0 :(得分:0)
(也许boot2docker中有更好的解决方案。)
**查看本文档。 https://coreos.com/docs/running-coreos/platforms/vagrant/
更新config.rb
文件
config.rb
# Size of the CoreOS cluster created by Vagrant
$num_instances=3
**使用三个CoreOS实例启动vagrant。 启动机器:
vagrant up
列出正在运行的机器的状态:
$ vagrant status
Current machine states:
core-01 running (virtualbox)
core-02 running (virtualbox)
core-03 running (virtualbox)
This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, run `vagrant status NAME`.
**登录每个实例并启动docker容器
docker pull <image>
docker run ...
注意:计算机目前处于测试阶段,因此可能会发生变化。我们不建议您在生产中使用它。
使您可以轻松地在计算机,云提供商和自己的数据中心内创建Docker主机。它创建服务器,在它们上安装Docker,然后配置Docker客户端与它们通信。