恢复docker容器的运行参数
我经常发现自己需要重新创build容器,对docker run
容器原来的参数(比如改变发布的端口,networking,内存量等)进行小的修改。
现在我正在制作图像,并运行它们来代替旧的容器。
这工作正常,但我并不总是有原始的参数docker run
保存,有时(尤其是当有很多事情来定义),它成为痛苦恢复它们。
有没有办法从现有的容器恢复docker run
参数?
最好的办法是不要手动input命令。 把它们放在一个shell脚本中,一个是linux / mac上的.sh
文件,另一个是windows上的.cmd
文件。 那么你只需运行shell脚本来创build你的容器,而不必担心重新input命令和选项,你永远不会错误的,等等。
个人而言,我在我的package.json文件中使用“npm脚本”编写我的脚本。 但是可以用任何可以运行具有参数的命令行程序的工具来完成同样的事情
我和其他一些技巧一起做 , 以确保我永远不会失败build立我的图像或运行我的容器 。 使docker的生活变得容易得多。 🙂
您可以使用docker inspect
来获取容器的configuration。 重builddocker run
命令,但可能有点乏味。
另一个select是使用history | grep "docker run"
search你的shell历史history | grep "docker run"
history | grep "docker run"
或ctrl+r
(如果使用bash
)。 那样的话,你不需要为了保存命令而行,但是仍然可以快速恢复它们。
几个对此的答案。 使用docker-compose
运行你的容器,然后你可以运行compose文件并保留所有的configuration。 很明显,撰写是为多容器应用程序devise的,但大量低估了单容器,复杂的run
参数用例。
第二个是把你的run
命令放到图像上的LABEL
上。 看看标签架构的docker.cmd
等…然后,您可以轻松地从图像(或从您的Dockerfile)检索。