您可以将标志传递给docker运行的命令吗?
您可以将标志传递给docker运行的命令吗?,docker,Docker,run命令的文档遵循以下语法: docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...] 然而,我有时发现我想将一个标志传递给[COMMAND] 例如,我一直在使用,其中在中指定的[COMMAND]是: 有没有办法将标志添加到“/opt/solr/bin/solr-f”,使其以“/opt/solr/bin/solr-f[-MY flags]”的形式出现 我需要编辑docker文件还是有一些内置功能?docker文件的指令是当容器启动
run
命令的文档遵循以下语法:
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
然而,我有时发现我想将一个标志传递给[COMMAND]
例如,我一直在使用,其中在中指定的[COMMAND]
是:
有没有办法将标志添加到“/opt/solr/bin/solr-f”
,使其以“/opt/solr/bin/solr-f[-MY flags]”的形式出现
我需要编辑docker文件还是有一些内置功能?docker文件的指令是当容器启动时运行的命令,如果docker run
命令中没有指定任何命令
CMD的主要用途是为正在执行的容器提供默认值
在您的情况下,只需按如下所示使用docker run
命令来覆盖Dockerfile中指定的默认命令:
有一个特别的指令适合你的需要。与CMD
不同,它将在命令末尾添加其他标志
例如,你可以写
ENTRYPOINT ["python"]
并运行它
docker run <image_name> -c "print(1)"
其中CMD
表示入口点的默认参数。现在您可以同时运行这两个
docker run <image_name>
docker run <image_name> yandex.ru
docker运行
docker run yandex.ru
并且只有CMD
将被替换
关于ENTRYPOINT
和CMD
如何交互的完整参考资料可以找到我真的很高兴有人问这个问题,然后我看了图片,意识到是我:O
docker run <image_name> -c "print(1)"
ENTRYPOINT ["ping"]
CMD ["www.google.com"]
docker run <image_name>
docker run <image_name> yandex.ru