【问题标题】:Can I update the hostname of a Docker Node?我可以更新 Docker 节点的主机名吗?
【发布时间】:2017-03-21 02:17:55
【问题描述】:

目前我所有的节点都有名称ubuntu-yakkety

docker node ls

ID                           HOSTNAME        STATUS  AVAILABILITY  MANAGER STATUS
d7rdq4n4dmrkhyz4ov7ldr31e    ubuntu-yakkety  Ready   Active        
iddxyuic586lnla6aw700rdwc    ubuntu-yakkety  Ready   Active        
zxcr1yvveccj4soyh2hsjjebk *  ubuntu-yakkety  Ready   Active        Leader

为了创建更好的过滤器,如果我可以将 节点的主机名 更新为 node-01 node-02 ... node-99

但是,我在documentation 中找不到任何方法来完成它。

1) 是否可以更新现有 Docker 节点的主机名?

2) 是否可以在加入 swarm 时为节点命名?

【问题讨论】:

    标签: docker docker-compose docker-swarm


    【解决方案1】:
    1. 更改主机名:hostname ***vi /etc/hosts

    2. 重启docker:sudo systemctl restart docker

    您可以看到“姓名”用户docker info

    【讨论】:

    • 抱歉,我已经更改了我的 /etc/hosts 并重新启动,但到目前为止它没有任何改变...还有其他事情要做吗?
    • 这样做后,docker node 似乎无法检测到新的主机名,Error response from daemon: rpc error: code = 2 desc = The swarm does not have a leader. It's possible that too few managers are online. Make sure more than half of the managers are online.
    • 我离开了 swarm,编辑了 hosts 文件,重新启动了 docker 并重新加入了 swarm。没有变化。
    【解决方案2】:

    这个三重奏效果很好:

    echo '127.0.0.1 <hostname>' | sudo tee -a /etc/hosts
    sudo hostnamectl set-hostname <hostname>
    sudo systemctl restart docker
    

    【讨论】:

      【解决方案3】:

      您必须登录每个节点并设置节点主机名使用命令:

      sudo hostnamectl set-hostname <hostname>
      

      更改所有节点的主机名后,转到管理器节点并重新启动您的 docker,之后就可以了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-15
        • 1970-01-01
        • 2017-05-20
        • 1970-01-01
        • 2020-06-21
        • 2018-05-12
        相关资源
        最近更新 更多