获取容器的docker运行命令

获取容器的docker运行命令,docker,Docker,我有一个我创建的容器,但我记不起我用来启动它的确切的docker run命令。有什么办法可以找回吗 这与我想知道的是生成容器的完整docker命令不同,而不是容器中的命令。您可以通过查看docker inspect的输出推断出大部分信息 例如,您可以通过查看Config.Cmd键来发现容器内启动的命令。如果我跑步: $ docker run -v /tmp/data:/data --name sleep -it --rm alpine sleep 600 我可以稍后运行: $ docker i

我有一个我创建的容器,但我记不起我用来启动它的确切的
docker run
命令。有什么办法可以找回吗


这与我想知道的是生成容器的完整docker命令不同,而不是容器中的命令。

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

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

$ docker run -v /tmp/data:/data --name sleep -it --rm alpine sleep 600
我可以稍后运行:

$ docker inspect --format '{{.Config.Cmd}}' sleep 
并获得:

{[sleep 600]}
类似地,
docker inspect
的输出还将包括有关容器中使用的docker卷的信息:

$ docker inspect --format '{{.Volumes}}' sleep
map[/data:/tmp/data]

当然,您可以只运行
docker inspect
而不运行
--format
,这将为您提供一大块(100多行)JSON输出,其中包含所有可用密钥,其中包括有关端口映射、网络配置等的信息。

始终是
docker运行
,不是吗?我认为这不太可能-docker客户端使用REST api,docker客户端命令并不总是与api调用匹配-因此服务器不可能猜测原始命令并存储它。@Thomashrig关于端口映射、链接等方面的情况如何。@AdamParkin是的,你是对的!可能重复的