使用ENV设置缩放Docker容器

时间:2019-04-20 19:09:23

标签: docker docker-compose

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

我希望输出0到49(顺序不是硬性要求)。我可以使用docker进行缩放到5个容器的操作,但可以将ENV设置为每个容器的起点吗?假设我可以使用多个容器,则不能保证订单。

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

1 个答案:

答案 0 :(得分:2)

您当然可以通过docker run命令使用-e参数来实现此目的。下面的示例展示了如何使用环境变量0-49启动容器,并使用高山图像进行演示:

for i in {0..49}
do
    docker run -it -e "IDX_ENV=$i" alpine:latest env
done

请注意,输出只会为每次调用打印环境:

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

当然,每个容器在打印环境后都会退出。如果您需要运行更多"real"(例如,运行时间较长),建议您使用-d选项以分离模式运行容器,并设置一个使用传入环境的入口点。