使用环境设置缩放docker容器

使用环境设置缩放docker容器,docker,docker-compose,Docker,Docker Compose,如果我有一个简单的计数程序:给定一个起始数字,程序将从起始数字输出10个数字,增量为1 我想有0到49作为输出(顺序不是一个硬要求)。我可以使用docker做一些类似于缩放到5个容器的事情,但是设置一些环境作为每个容器的起点吗?假设我可以使用多个容器,则无法保证订单 例如:容器1将以0开头,容器2将以10开头…容器5将以40开头。输出可能是[0,9]、[40,49]、[30,39]、[10,19]、[20,29]。您当然可以使用带有docker run命令的-e参数来实现这一点。下面的示例显示了

如果我有一个简单的计数程序:给定一个起始数字,程序将从起始数字输出10个数字,增量为1

我想有0到49作为输出(顺序不是一个硬要求)。我可以使用docker做一些类似于缩放到5个容器的事情,但是设置一些环境作为每个容器的起点吗?假设我可以使用多个容器,则无法保证订单


例如:容器1将以0开头,容器2将以10开头…容器5将以40开头。输出可能是[0,9]、[40,49]、[30,39]、[10,19]、[20,29]。

您当然可以使用带有docker run命令的
-e
参数来实现这一点。下面的示例显示了如何使用环境变量
0-49
启动容器,并使用alpine图像进行演示:

for i in {0..49}
do
    docker run -it -e "IDX_ENV=$i" alpine:latest env
done
注意:输出仅打印每个调用的环境:

...
IDX_ENV=0
HOME=/root
...

当然,每个容器将在打印环境后退出。如果您需要运行一些更为“真实的”,例如长时间运行的进程,我建议您使用
-d
选项以分离模式运行容器,并设置一个入口点,以利用传入的环境。

您当然可以使用带有docker run命令的
-e
参数来实现这一点。下面的示例显示了如何使用环境变量
0-49
启动容器,并使用alpine图像进行演示:

for i in {0..49}
do
    docker run -it -e "IDX_ENV=$i" alpine:latest env
done
注意:输出仅打印每个调用的环境:

...
IDX_ENV=0
HOME=/root
...

当然,每个容器将在打印环境后退出。如果您需要运行更多的
“真实的”
,例如长时间运行的进程,我建议您使用
-d
选项以分离模式运行容器,并设置一个入口点,以利用传入的环境。

当然可能,问题是什么?当然可能,问题是什么?很好,这完全是我想要的!非常感谢你!!很好,这完全是我想要的!非常感谢你!!