如果我有一个简单的计数程序:给定一个起始编号,程序将从起始编号输出10个数字,增量为1。
我希望输出0到49(顺序不是硬性要求)。我可以使用docker做一些像缩放到5个容器的东西,但是设置一些ENV作为每个容器的起点吗?假设我很好用多个容器将无法保证订单。
例如:容器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
...
当然,每个容器在打印环境后都会退出。如果你需要运行更多的"real"
,例如长时间运行的进程,我建议你使用-d
选项以分离模式运行容器,并设置一个利用传入的环境的入口点。