数据卷与容器配置全解析
1. 数据创建方法
我们可以使用以下三种不同的方法来创建数据:
1. 在挂载了示例卷的容器内创建数据。
2. 使用特殊的特权文件夹访问 Docker for Desktop 所使用的隐藏虚拟机,并直接写入示例卷的后备文件夹。
3. 仅在 macOS 系统上,使用 screen 实用工具进入隐藏虚拟机,同样直接写入示例卷的后备文件夹。
2. 容器间的数据共享
容器就像是运行在其中的应用程序的沙盒,这在大多数情况下是有益且必要的,它可以保护不同容器中的应用程序免受相互干扰。这也意味着,容器内应用程序可见的整个文件系统是该应用程序私有的,其他容器中的应用程序无法对其进行干预。
然而,有时我们需要在容器之间共享数据。例如,容器 A 中运行的应用程序产生了一些数据,而这些数据将被容器 B 中运行的另一个应用程序所使用。我们可以使用 Docker 卷来实现这一目的。具体操作步骤如下:
1. 创建一个卷,并将其挂载到容器 A 和容器 B 中。这样,应用程序 A 和应用程序 B 都可以访问相同的数据。
2. 为避免并发问题(如竞态条件),理想情况下,只有一个应用程序或进程负责创建或修改数据,而其他并发访问该数据的进程仅进行读取操作。我们可以通过将卷以只读模式挂载,来强制容器中的进程只能读取卷中的数据。以下是具体的命令示例:
$ docker container run -it --name writer \
-v shared-data:/data \
alpine /bin/
超级会员免费看
订阅专栏 解锁全文

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



