这就是我在docker容器中运行命令的方法:
$ docker run -it --rm --name myapp myimage:latest
$ node --version
是否可以将其作为一个命令运行?我可以将命令传递给docker run
- 命令吗?
像
这样的东西$ docker run -it --rm --name myapp myimage:latest "node --version"
当然这只是一个简单的例子。稍后我会执行一些更复杂的命令......
答案 0 :(得分:1)
“docker run”命令基本上会使容器运行,并执行Dockerfile中的“CMD”或“ENTRYPOINT”。除非 - dockerfile中的命令没有运行命令提示符 - “正在运行”容器可能无法得到提示。
例如,如果您希望每次运行容器时 - 它会获取命令提示符,然后在Dockerfile中显示以下行:
import calendar
sum(calendar.monthrange(year,month)[0]==calendar.SUNDAY
for year in range(1901,2001)
for month in range(1,13))
如果要在每次运行命令时运行相同的命令 - 那么您可以使用命令创建脚本文件,将它们复制到容器中,并将脚本文件作为CMD指令执行。
答案 1 :(得分:0)
我在理解你要做的事情时遇到了一些麻烦。
你可以: docker run -d --name myapp myimage:latest -f / dev / null然后你的容器已启动,你可以在其中运行任何命令您可以将命令传递给docker run但是一旦命令结束,容器将退出
答案 2 :(得分:0)
命令的一般形式实际上是:
docker run [OPTIONS] IMAGE [:TAG | @DIGEST] [COMMAND] [ARG ...]
有关详细信息,请参阅documentation。
您问题中最小例子的答案很简单:
docker run -it --rm --name myapp myimage:latest node --version
如果要按顺序运行多个命令,可以: