2015-06-20 75 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