我希望实现类似的目标 docker run --delay =
我可以使用ENTRYPOINT和CMD提供延迟值而不在docker run中提供参数但是找不到从docker run开始的方法。
简而言之,我想知道如何将用户定义的参数和值传递给docker run命令或使用dockerfile
答案 0 :(得分:1)
您可以使用环境变量来实现它。有两种方法可以设置环境变量。
在 Dockerfile - >中您可以设置如下。 https://docs.docker.com/engine/reference/builder/#env
的详细说明 ENV <key> = <value>
在 docker run 命令中 - &gt;您可以使用-e
标志进行设置。 https://docs.docker.com/engine/reference/commandline/run/#set-environment-variables--e-env-env-file
docker run -e <key> = <value> <image_name>
答案 1 :(得分:0)
有多种方法可以做到,但我建议选择environment variables。只需在运行docker run
时定义变量,并在ENTRYPOINT
脚本中使用它。
docker run -e DELAY=30 IMAGE [COMMAND] [ARG...]
然后在ENTRYPOINT
脚本中将其用作:
!#/bin/bash
# Play with $DELAY
echo $DELAY
# Start the root process
exec root_process_command
我希望它有所帮助!