docker究竟是如何工作的? (理论)

时间:2016-07-12 09:43:57

标签: docker docker-compose dockerfile docker-machine

我正在冒险使用docker并试图牢牢掌握产品。

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

现在我了解如何构建容器,附加代码,提交并将其推送到您的仓库。

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

容器:

节点& NPM

Nginx的

Mysql的

PHP

现在,我理解你可以做的唯一方法是关闭容器重新拉动新容器并运行,但我想你会丢失数据库数据。

我一直在阅读https://docs.docker.com/engine/tutorials/dockervolumes/ 并且可能认为容器安装了一个在容器之间存在的数据文件。

我要做的是运行具有上述容器布局的网络应用程序/网站,只需使用最新的错误修正/功能更改代码。

1 个答案:

答案 0 :(得分:1)

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

持久状态应该通过随后随映像一起装入的数据容器进行管理。因此,您的数据"与特定版本和应用程序实例分离。