gpt4 book ai didi

bash - "Failed to resolve IP"; "Lookup error"加入 dockerized 农奴代理时的 bash 脚本

转载 作者:行者123 更新时间:2023-12-02 19:36:42 24 4
gpt4 key购买 nike

[上下文:主机是 AWS-EC2/Ubuntu 14.04.5,Docker 版本为 17.05.0-ce。容器是从公开可用的 repo 镜像 cbhihe/serf-alpine-bash 构建的。容器位于同一个 EC2 实例上,并共享相同的默认桥接网络以及实例的 eth0 接口(interface)。]

这个问题建立在 answer到一个不同的问题。

使用两个正在运行的 docker容器,每个都有一个活的 serf代理在其中,我想从无人值守的 bash 脚本形成一个两节点农奴集群,在两个容器运行的主机上执行。

对于容器“DC2”中的一个农奴代理与私有(private) IP 172.17.0.2 加入容器“DC1”中的另一个代理,我的脚本如下所示:

docker run -d --name DC1 --rm cbhihe/serf-alpine-bash agent -node=NODE1 -iface=eth0
docker run -d --name DC2 --rm cbhihe/serf-alpine-bash agent -node=NODE2 -iface=eth0
docker exec -d DC2 serf join 172.17.0.2

前两行产生预期的结果,即 2 个正在运行的容器。第三行似乎失败了:
  • 或者静默,当使用分离开关时,
  • 或在没有此类开关的情况下出现以下错误。

    加入集群时出错:发生 1 个错误:
    解析 172.17.0.2 失败:查找 172.17.0.2:无效域名

  • 无论哪种方式加入都不会发生。
    从控制台做完全相同的事情完美无缺。

    我查看了在脚本的 bash shebang 上下文中导入主机环境。没有成功。欢迎指点。发送

    最佳答案

    根据您问题中的信息,我认为可能存在对 shell 的依赖,它设置了环境变量。

    尝试执行 bash 启动的 serf。像这样的东西:

    docker exec "$cont_id" bash -c 'serf join '"$join_IP"

    关于bash - "Failed to resolve IP"; "Lookup error"加入 dockerized 农奴代理时的 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44359858/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com