我在docker镜像内运行测试,并且需要始终传递自定义参数。
当我在镜像名称后面添加参数时,Docker会认为该参数是镜像名称。
docker run -t -i image-name -s test.py
docker run -t -i image-name -- -s test.py
错误:
Failed no image test_arena2.py
Docker版本1.11.2,构建b9f10c9
我在docker镜像内运行测试,并且需要始终传递自定义参数。
当我在镜像名称后面添加参数时,Docker会认为该参数是镜像名称。
docker run -t -i image-name -s test.py
docker run -t -i image-name -- -s test.py
错误:
Failed no image test_arena2.py
Docker版本1.11.2,构建b9f10c9
ENTRYPOINT
和CMD
指令组合构建Dockerfile,这将使您能够使用或不使用参数运行容器,例如:FROM ubuntu
ENTRYPOINT ["/bin/echo"]
CMD ["hello"]
这表示入口点是echo
命令,而默认参数是hello
。不带参数运行一个容器:
> docker run temp
hello
带参数运行,所有参数都会传递给入口点命令:
> docker run temp -s stackoverflow
-s stackoverflow
docker run -i
是您命令行的良好起点,然后只需使用运行命令的参数集
,最后使用提供的镜像名称-t image
镜像名称应始终位于docker run命令的末尾,即作为命令的最后一个参数。您是否愿意使用以下命令将值作为环境变量传递?
docker run -e "ENV_VAR_NAME=VALUE" -it image_name