获取容器的docker run命令

Ada*_*kin 8 docker

我有一个我创建的容器,但我不记得docker run我用来启动它的确切命令.有什么办法可以检索吗?

这与在Docker中查看运行/停止容器的完整命令不同 我想要知道的是生成容器的完整docker命令,而不是容器内的命令.

lar*_*sks 9

您可以通过查看输出来推断出大部分信息docker inspect.

例如,您可以通过查看Config.Cmd密钥来发现容器内部启动的命令.如果我跑:

$ docker run -v /tmp/data:/data --name sleep -it --rm alpine sleep 600
Run Code Online (Sandbox Code Playgroud)

我以后可以跑:

$ docker inspect --format '{{.Config.Cmd}}' sleep 
Run Code Online (Sandbox Code Playgroud)

得到:

{[sleep 600]}
Run Code Online (Sandbox Code Playgroud)

同样,输出docker inspect还将包含有关容器中使用的Docker卷的信息:

$ docker inspect --format '{{.Volumes}}' sleep
map[/data:/tmp/data]
Run Code Online (Sandbox Code Playgroud)

您当然可以在docker inspect没有运行的情况下运行--format,这将为您提供包含所有可用密钥的大(100+行)JSON输出块,其中包括有关端口映射,网络配置等的信息.