Docker swarm:如何手动设置节点名称?

时间:2016-05-31 00:32:30

标签: ubuntu docker service-discovery consul docker-swarm

有关我环境的某些背景信息:

我在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文件添加内容来手动更改它。我要添加什么?

1 个答案:

答案 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服务。我还摧毁了我的旧容器并再次运行它们我不确定这一步是否有必要,但我做得很好。