从容器重建docker run命令参数

时间:2016-10-27 06:32:37

标签: docker

从现有docker容器重建docker run命令参数的最佳方法是什么?我可以使用docker inspect并使用那里找到的信息。还有更好的办法吗?

2 个答案:

答案 0 :(得分: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]

这是一个开始。

Docker Captain Adrian Mouat有一篇关于格式化输出的优秀博文:Docker Inspect Template Magic

答案 1 :(得分:0)

另请参见this answer,该链接链接到以编程方式从容器中导出docker run命令的工具。

相关问题