docker工作到底如何? (理论)

我正在冒险使用docker工具,并试图牢牢把握产品。

虽然我很喜欢它所承诺的一切,但是从手动做起来却是一个很大的改变。

现在我明白如何build立一个容器,附上你的代码,提交并推送到你的仓库。

但是我真正想知道的是,如何在部署后更新我的代码,例如,我有一些小的错误修复,但没有更改依赖关系,但我也在同一个容器中运行数据库。

容器:

节点和NPM

Nginx的

Mysql的

PHP

现在唯一的方法,我明白你可以做到这一点是closures容器重拉新的容器和运行,但我想你会失去数据库的数据。

我一直在阅读到https://docs.docker.com/engine/tutorials/dockervolumes/和思考也许容器挂载一个数据文件,持续在容器之间。

我想要做的是运行一个Web应用程序/网站与上述容器布局,只是改变代码与最新的错误修复/function。

你很对。 Docker镜像是每次更新时应该重build和丢弃的东西 – 尽可能避免commit (无论如何都在构build脚本之外)。

持久状态应通过数据容器进行pipe理,然后使用映像进行装载。 因此,您的“数据”与应用程序的特定版本和实例分离。