docker - 在容器 docker-composer 之间移动卷
问题描述
我有图像 A (some_laravel_project) 和 B (laravel_module)。Image A 是一个 Laravel 项目,看起来像这样。
- 应用程序
- 模块
- 核
- 卷图像 b 在这里
- 配置
正如上面的列表所示,我想使用 docker-compose 从图像 A 中的图像 B 共享一个卷。我想访问容器 B 中的文件。
这是我尝试过的 docker-compose,在 gitlab ci 中创建这些图像时没有收到任何错误。我检查了卷及其文件存储在 module_user:latest 容器中。
我想我在将卷安装到 some_laravel_project 时犯了一个错误。
version: '3'
services:
laravel:
image: some_laravel_project
working_dir: /var/www
volumes:
- /var/www/storage
- userdata:/var/www/Modules
user:
image: laravel_module
volumes:
- userdata:/user
volumes:
userdata:
webroot:
解决方案
您用来在 docker compose 中跨容器共享卷的方法是正确的。您可以在docker-compose 卷下找到此文档
如果您想跨多个服务重用一个卷,则在顶级卷键中定义一个命名卷。将命名卷与服务一起使用,
在您的情况下,目录/var/www/Modules
中的目录将与内部服务laravel
中的目录具有相同的内容。您可以通过进入容器并通过运行检查每个目录来验证这一点;/user
user
docker exec -it <container-name> bash
推荐阅读
- vue.js - nuxtjs - On first load, home page flashes 'This page could not be found' then loads the actual home page
- javascript - 如何将 js 中的 crossorigin='anonymous' 添加到脚本中
- python - 使用 pandas 在计数事件时考虑所有可能的 1 小时时间间隔
- codeigniter - 无法使用 codeigniter 在 payumoney 中重定向 fURL
- mysql - Ms Access VBA 查询崩溃应用程序 - 返回 ???? 回答
- python - 多变量/单输出 LSTM 分类:不允许使用 `tf.Tensor` 作为 Python `bool`
- mysql - 无法连接到 DVWA
- c# - 如何在asp.net mvc中使用当前月份查找前几个月?
- c# - HIDSharp 和端点
- search - 查找树中每个孩子的后代总数