2015-06-20 74 views
2

我有一个Docker容器正在运行,并且我想创建另一个类似于它的容器。我怎样才能找出用什么命令启动容器?有docker inspect,但我必须通过逐一查看每个配置选项。获取用于启动Docker容器的命令

编辑:我想用来启动容器中的完整的命令,包括环境变量,链接,体积等。例如:

docker run -d --name foo -v /bar:/bar --link baz:baz -e DEBUG=True image bash 
+1

尝试'搬运工检查-f '{{.Config.Cmd}}' container_id'也'泊坞窗检查-f '{{.Config.Entrypoint}}' container_id' – user2915097

+0

@ user2915097为什么没有你补充说这是一个答案? –

+0

@ user2915097谢谢,但我想要完整的命令,而不仅仅是最后一部分 - 例如'docker run -d -v/foo:/ bar --link baz:baz image command' – z0r

回答

4

以下将显示环境变量的入口点的Dockerfile,CMDLINE,来自卷,链接的卷。

docker inspect -f '{{ .Config.Env}} {{ .Config.Entrypoint}} {{ .Config.Cmd}} {{ .VolumesFrom}} {{.Volumes}} {{ .HostConfig.links}}' container_id 
+0

投票+1,但我更喜欢通过'jq' – BMW

+0

像这个'docker inspect -f'{{json。Config}}'2fd | jq'.Env'for Env,但它也将是一个长命令与所有参数,不知道这是否更方便 – user2915097

+0

这非常酷 - 当然可以更容易地找到信息。但它的格式不是我可以复制和粘贴以产生新的容器。我正在考虑编写一个脚本来解析'docker inspect'的JSON输出,然后将其格式化为一个命令。 – z0r