我有一个包含服务器的docker容器。
我想启动该容器的多个实例,这些实例都在不同的端口上进行侦听。我知道我可以发出多个docker run
命令,这些命令适用于小数字,但是我想知道是否有更简单的方法?
答案 0 :(得分:0)
您可以使用while
循环来实现这一点。
i=0; while [ $i -lt no_of_times ]; do docker run -d -p 80 <image_id>; sleep 1; ((i++)); done
期待更好的解决方案。
从here那里得到了这一单线
答案 1 :(得分:0)
我已经使用docker-compose scale缩放功能完成了此操作。
基本上定义了一个service并对其进行缩放。
例如,定义 docker-compose.yml :
version: '3.7'
services:
your-service:
image: "your-image"
ports:
- "<port to expose>"
然后,当您要启动多个实例时执行:
docker-compose up --scale your-service=X
您还可以查看docker swarm模式,该模式允许您使用命令行定义服务