获取容器的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是的,你是对的!可能重复的