【问题标题】:Docker swarm: How to manually set node names?Docker swarm:如何手动设置节点名称?
【发布时间】:2016-05-31 00:32:30
【问题描述】:

关于我的环境的一些背景:

我有 docker swarm 在 3 个 ubuntu 14.04 vagrant box 上运行。 swarm master 运行在 1 台机器上(带有 consul),另外 2 台机器正在运行加入 master 的 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 个 vagrant ubuntu 盒子运行 swarm(1 个 master + 2 个 worker)。默认情况下,工作人员的标签名称为“ubuntu-14”,我想通过在每个工作人员的/etc/default/docker 文件中添加一些内容来手动更改它。我要添加什么?

【问题讨论】:

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


    【解决方案1】:

    解决办法

    ## change the hostname
    hostname myname
    ## restart docker
    sudo service docker restart
    

    我刚刚通过编辑 /etc/hostname 文件并将 ubuntu-14 更改为 master、worker1 或 worker2 来更改我的 vagrant box 的主机名。然后我重新启动了我的机器,还必须使用sudo service docker restart 重新启动每台机器上的 docker 服务。我还销毁了旧容器并再次运行它们。我不确定这一步是否必要,但我这样做是有好处的。

    【讨论】:

    • 重启docker服务就是答案。无需重启机器。
    • 我认为您甚至不需要这样做,只需sudo hostnamectl --no-ask-password set-hostname [NameYouWantToChangeTo]
    【解决方案2】:

    这个解决方案适合我

    更改主机名(直到重新启动)

    hostname myname
    

    永久主机名更改

    hostnamectl set-hostname myname
    

    重启泊坞窗

    sudo systemctl restart docker
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      相关资源
      最近更新 更多