2016-10-27 70 views
2

從現有碼頭集裝箱重建docker run命令參數的最佳方法是什麼?我可以使用docker inspect並使用在那裏找到的信息。有沒有更好的方法?從容器重建碼頭運行命令參數

+0

它看起來像'碼頭檢查'是檢查正在運行的容器的正確工具。使用它有什麼問題?你想直接與Docker API交談嗎? – Thilo

回答

3

不是很容易,但可以通過格式化docker inspect的輸出來完成。對於一個容器開始使用此命令:

> docker run -d -v ~:/home -p 8080:80 -e NEW_VAR=x --name web3 nginx:alpine sleep 10m 

可以拉出卷,端口映射,環境變量,容器名稱,圖片名稱和命令:

> docker inspect -f "V: {{.Mounts}} P: {{.HostConfig.PortBindings}} E:{{.Config.Env}} NAME: {{.Name }} IMAGE: {{.Config.Image}} COMMAND: {{.Path}} {{.Args}}" web3 

這使你的輸出:

V: [{ /home/scrapbook /home true rprivate}] P: map[80/tcp:[{ 8080}]] E:[NEW_VAR=x PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NGINX_VERSION=1.11.5] NAME: /web3 IMAGE: nginx:alpine COMMAND: sleep [10m] 

這是一個開始。

碼頭船長Adrian Mouat有一個很好的博客文章格式輸出:Docker Inspect Template Magic

+0

很好,謝謝。 –