有关我环境的某些背景信息:
我在3个ubuntu 14.04流浪盒上运行了docker swarm。 swarm master在1台机器上运行(带有consul),另外2台机器正在运行与主机连接的swarm worker。我按照文档页面https://docs.docker.com/swarm/install-manual/设置了环境。它正常工作,以便从我的主机运行的任何docker -H :4000 <some_docker_command>
都能正常工作。当我在两个工作人员上运行 gliderlabs / registrator 容器时,服务发现处于活动状态。群集中的任何更改(例如节点或容器故障)都会在大约30秒内由swarm显示(在我看来这有点慢,但至少它的工作有效)。
问题:
Swarm将我的两个节点识别为“ubuntu-14”
vagrant@ubuntu-14:~$ docker -H :4000 ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a6972155d243 cohenaj194/apache-simple "/usr/sbin/apache2ctl" About an hour ago Up 13 seconds 172.28.128.6:32770->80/tcp ubuntu-14/test2
af78a8c788ed gliderlabs/registrator "/bin/registrator con" 2 hours ago Up About an hour ubuntu-14/registrator2
8e39416a785a gliderlabs/registrator "/bin/registrator con" 2 hours ago Up 2 hours ubuntu-14/registrator1
27c2225b32fb cohenaj194/apache-simple "/usr/sbin/apache2ctl" 2 hours ago Up 2 hours 172.28.128.4:32770->80/tcp ubuntu-14/test1
vagrant@ubuntu-14:~$ docker -H :4000 network ls
NETWORK ID NAME DRIVER
38b24dc5615b ubuntu-14/bridge bridge
c4e1ffae2fa7 ubuntu-14/bridge bridge
29cf499e57ab ubuntu-14/host host
7b4a4a153ada ubuntu-14/host host
723b6bc6f23c ubuntu-14/none null
01f3647d62cd ubuntu-14/none null
我想知道如何手动将我的节点名称从“ubuntu-14”更改为其他名称。我希望能够通过在/etc/default/docker
文件中添加一行来设置标记,因为我最终将在其中运行我的集群的私有云无法像其他云提供商那样设置实例标记作为AWS。
tldr:我有3个流浪汉ubuntu盒子运行swarm(1个主人+ 2个工人)。默认情况下,worker的标签名称为“ubuntu-14”,我想通过向每个worker上的/etc/default/docker
文件添加内容来手动更改它。我要添加什么?
答案 0 :(得分:6)
## change the hostname
hostname myname
## restart docker
sudo service docker restart
我刚刚通过编辑/etc/hostname
文件并将ubuntu-14更改为master,worker1或worker2来更改我的流浪盒的主机名。然后我重新启动了我的机器,并且还必须使用sudo service docker restart
在每台机器上重新启动docker服务。我还摧毁了我的旧容器并再次运行它们我不确定这一步是否有必要,但我做得很好。