容器存储与多服务容器编排实践
1. 容器存储基础
在使用容器与 SQL 和 NoSQL 数据库时,容器存储是一个重要的方面。Docker 容器的文件系统默认主要是只读的,且具有临时性。当启动 Docker 容器时,会在下层文件栈之上添加一个读写层,可对文件进行创建、修改和删除操作,但只有将更改提交回镜像时,这些更改才会持久化。然而,对于存储和检索非易失性数据来说,这种方式并不方便。
更好的选择是将容器的生命周期与它管理的数据分离,通过卷(Volumes)可以实现这一目标。卷不是联合文件系统的一部分,写入操作即时且快速,无需提交更改。卷以主机文件系统上的普通目录和文件形式存在。
1.1 卷的创建方式
有两种创建卷的方式:
- 指定 -v 选项运行镜像。
- 在启动容器之前使用命令创建卷。
以下是使用 -v 选项创建卷的示例:
docker run -d -it -p 27017:27017 --name mongo --net=ecom-network -v /Users/binil/dockerbook/ch08-05/mongodata:/data/db mongo:3.6
此命令将主机目录 /Users/binil/dockerbook/ch08-05/mongodata 映射到运行的 Mongo 容器中的 /data/db 目录。
1.2 微服务与 MongoDB 容器文件挂载示例
此示例复用了
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



