Docker:创建同一图像的多个容器,并自动递增

Docker:创建同一图像的多个容器,并自动递增,docker,Docker,我不确定这是否是一个好的实践,但我想指定一些docker映像来启动。理想情况下,它会自动增加端口和tmp数据位置 这是我当前的命令: sudo docker run-it-d--restart=always-p=0.0.0:9220:9222-m 1G-v/tmp/chromedata/:/data-alpeware/chrome-headless-trunk 理想情况下,我希望能够繁殖,比如说其中的5个-自动递增,如下所示: Name Data Port C

我不确定这是否是一个好的实践,但我想指定一些docker映像来启动。理想情况下,它会自动增加端口和tmp数据位置

这是我当前的命令:

sudo docker run-it-d--restart=always-p=0.0.0:9220:9222-m 1G-v/tmp/chromedata/:/data-alpeware/chrome-headless-trunk

理想情况下,我希望能够繁殖,比如说其中的5个-自动递增,如下所示:

Name     Data              Port

Chrome1 /tmp/chrome1data/ 9220:9222

Chrome2 /tmp/chrome2data/ 9221:9222

Chrome3 /tmp/chrome3data/ 9222:9222

Chrome4 /tmp/chrome4data/ 9223:9222

Chrome5 /tmp/chrome5data/ 9224:9222
我对任何其他想法都持开放态度,基本上最终目标是快速创建并轻松管理相同图像的容器


警告:Docker noob

一种方法是创建一个小bash脚本来增加端口号,例如

for x in $(seq 0 4); do
  # increment the port number
  port=$((9220 + $x))
  sudo docker run -it -d --restart=always \
  -p=0.0.0.0:$port:9222 \ 
  -m 1G \
  -v /tmp/chromedata/:/data \
  --name container-$x \
  alpeware/chrome-headless-trunk
done

还可以为容器指定名称(-name参数u)以便于识别。

取决于您是否希望在将来扩展此自动化的复杂性,我强烈建议查看,它可以让您编写任意复杂的容器部署逻辑,而无需与Bash语法抗争。

我忘了Bash有多强大,我将尝试使用它他现在出去了。