我不明白数据量和数据容器之间有什么区别...例如,这两个docker-compose配置具有相同的结果,但第一个使用数据容器
数据容器
datacontainer:
image: httpd:2.4-alpine
volumes:
- ../src:/usr/local/apache2/htdocs
apache:
image: httpd:2.4-alpine
ports:
- 80:80
volumes_from:
- datacontainer
没有数据容器
apache:
image: httpd:2.4-alpine
ports:
- 80:80
volumes:
- ../src:/usr/local/apache2/htdocs
使用数据容器的优点和缺点是什么?
这些示例都不是真正的数据卷或数据容器。它们都绑定到主机,比另一个间接得多。我倾向于将这些称为主机卷。
数据容器已弃用到命名卷。它们看起来像:
datacontainer:
image: httpd:2.4-alpine
command: tail -f /dev/null
volumes:
- /data
apache:
image: httpd:2.4-alpine
ports:
- 80:80
volumes_from:
- datacontainer
然后,您可以重新创建apache容器或对其进行升级,而无需升级datacontainer,仍然可以使用数据。这样做有很多弊端,如果按照图片中定义的数量实施,我会在博客中发布有关我有多不满意的博客。但是最大的问题是,您将数据作为容器进行管理,因此任何容器清理例程都将同样地清理数据,如果您反对数据丢失或容器蔓延的话,效果会非常差。
命名卷要容易得多,并且具有数据容器的所有相同功能,但是将数据管理与容器管理分离开,从而无需担心即可清除容器,并可以从一个位置备份数据。他们看着像是:
apache:
image: httpd:2.4-alpine
ports:
- 80:80
volumes:
- data:/data
请注意,在compose的第2版中,您将更详细地定义卷。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句