使用 docker-composer 进行扩展并向主机名添加数字?

2024-01-15

我有一个docker-compose.yml:

master:
  build: .

slave:
  image: master
  hostname: slave
  command: run_slave

我怎样才能使docker-compose scale slave=5生成具有唯一主机名的机器?

...例如。像这样的东西:

slave1
slave2
slave3
slave4
slave5

接受的答案是正确的,没有办法使用一个来设置它scale命令。这是解决该问题的一种方法。

不要一次缩放从属设备,而是一次缩放一个从属设备,并使用环境变量在每一步设置主机名。这确实破坏了便利性scale有点,但它似乎有效,至少在 Compose 1.8.1 中是这样。

docker-compose.yml:

master:
  build: .

slave:
  build: .
  hostname: slave${SLAVE_INDEX}
  command: run_slave

运行它们:

$ for i in $(seq 1 5); do SLAVE_INDEX=$i docker-compose scale slave=$i; done
Creating and starting so_slave_1 ... done
Creating and starting so_slave_2 ... done
Creating and starting so_slave_3 ... done
Creating and starting so_slave_4 ... done
Creating and starting so_slave_5 ... done

$ for i in $(docker ps --format  '{{ .Names }}'); do
> echo -n "$i: "; docker inspect --type container $i | jq -r '.[].Config.Hostname'
> done
so_slave_5: slave5
so_slave_4: slave4
so_slave_3: slave3
so_slave_2: slave2
so_slave_1: slave1

$ for i in $(seq 1 5); do docker exec -it so_slave_${i} hostname; done
slave1
slave2
slave3
slave4
slave5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 docker-composer 进行扩展并向主机名添加数字? 的相关文章

随机推荐

  • Java - 带重音符号的 InetSocketAddress 主机名

    我在与主机名中包含一些重音符号 的服务器建立连接时遇到问题 例如 String oUrl www h tel fr System out println oUrl InetSocketAddress isa new InetSocketAd
  • 无法在 React 的类中使用 const

    我正在关注这个教程 https nickymeuleman netlify com blog gatsby pagination navigate to previousnext page https nickymeuleman netli
  • 无法将匿名方法转换为类型“System.Delegate”,因为它不是委托类型

    我想在 WPF 应用程序的主线程上执行此代码并收到错误 我无法弄清楚出了什么问题 private void AddLog string logItem this Dispatcher BeginInvoke delegate this Lo
  • 具有内部属性的 JSON 序列化器对象

    我有一些带有一些内部属性的类 我也想将它们序列化为 json 我怎样才能做到这一点 例如 public class Foo internal int num1 get set internal double num2 get set pub
  • 构建目录是否应该提交到版本控制项目中?

    我正在对我的项目进行版本控制 我已使用 src 目录提交项目源代码 我的问题是 使用版本控制时是否应该提交我的 build 目录 有时称为 dist 或 bin 具体取决于应用程序 请在您给出的答案中解释原因 提前致谢 除非你专门使用git
  • 防止点击事件时浏览器弹出

    在基于 jquery mobile 的 Web 应用程序中 我如何防止默认浏览器菜单在 点击按住 时显示 相反 我想显示自定义对话框页面 下面提到的是我现在的代码 task row bind taphold function event u
  • Java - 如何将此字符串转换为日期?

    我从服务器收到此信息 但我不明白 T 和 Z 的含义 2012 08 24T09 59 59Z将此字符串转换为 Date 对象的正确 SimpleDateFormat 模式是什么 This is ISO 8601 http www w3 o
  • 如何使用 Python 更快地处理图像?

    我试图编写一个脚本来检测屏幕上的 RGB 值 然后单击 x y 值 我知道如何执行单击 但我需要比下面的代码当前处理图像的速度快得多 这可以用Python实现吗 到目前为止 我一次读取一行 当 x 1920 时 我进入第二行 但完成一行大约
  • WPF 淡入淡出动画

    当控件变得可见时 如何使其淡入 淡出 以下是我失败的尝试
  • 数学(在 WPF 中):平移后获取新的 x,y 坐标

    参考这个编程游戏 https stackoverflow com questions 505040 developing a robocode type game with net for a school assignment我目前正在建
  • MultiLevel ExpandableListView 未正确突出显示

    我正在创建一个自定义ExpandableListView使用教程发现支持三个级别here http androidcodesnips blogspot com 2011 09 three level expandable list html
  • 使用 jcifs 定义的超时不起作用

    我已将responseTimeout和soTimeout设置为15000ms 但我仍然得到 90000ms 后超时 我在 v1 3 18 和 v1 3 17 上对此进行了测试 当我不注册 jcifs 时 会发生 HttpURLConnect
  • Google 应用引擎 QR 码解码器

    我想知道是否有一个好的Python库来解码QR码 基本上我想要的是提供带有二维码的库图像 并且库将输出保存在图像中的内容 您是否已经看过 http pyqrcode sourceforge net http pyqrcode sourcef
  • TOAD 脚本中的变量

    我有一个正在 TOAD 中执行的 SQL 脚本 目前 我只是用一个又一个的语句来排列它 因此 select such and such from somewhere delete other thing from somewhere els
  • C# 在哪里添加方法

    我对 C 很陌生 一天前才开始 我必须做一个简单的 C 数据库 其中包含音乐专辑等 我遇到的问题是我无法调用我刚刚执行的方法 任何人都可以帮助我在 main 中包含这个方法吗 void addnew int ID currid string
  • 将 JavaScript NodeList 转换为数组的最快方法?

    之前在这里回答过的问题说这是最快的方法 nl is a NodeList var arr Array prototype slice call nl 在我的浏览器上进行基准测试时 我发现它比这个慢 3 倍以上 var arr for var
  • Ant4Eclipse 示例

    我目前正在使用标准 Ant 我想转移到 Ant4Eclipse http www ant4eclipse org 以利用我的 eclipse 项目已经拥有的类路径信息来构建它并运行单元测试 我发现的问题是我找不到使用 ant4eclipse
  • CSV 更改分隔符

    我正在读取 CSV 文件并将分隔符从 更改为 但是 我在我的数据 我无法控制 中注意到 在某些情况下 我有一些数据不想遵循此规则 并且它包含带有逗号的引用数据 我想知道如何最好地不替换这些异常 例如 ABSON TE Wick Lane A
  • 使用 MAMP 在 Mac OS 中通过终端连接到 MYSQLi

    我正在尝试通过 Mac 中的终端运行我的 PHP 脚本 当我尝试运行该脚本时 出现以下错误 警告 mysqli connect HY000 2002 没有这样的文件或目录 这就是我尝试连接的方式 mysqli connect localho
  • 使用 docker-composer 进行扩展并向主机名添加数字?

    我有一个docker compose yml master build slave image master hostname slave command run slave 我怎样才能使docker compose scale slave