我正在尝试将我的 Owncloud 实例移动到 docker。我有一个具有 120GB 根的“服务器”和指定用于 owncloud 数据的 500GB USB 磁盘。我想出了这样的配置:
docker-owncloud
├── docker-compose.yml
├── mysql
│ ├── db <- mysql files
│ └── Dockerfile
└── owncloud
├── data <- owncloud files (300GB)
└── Dockerfile
我的码头工人组成:
version: '3'
services:
owncloud:
build: owncloud
ports:
- 8080:80
links:
- mysql
volumes:
- ./owncloud/data:/var/www/html
mysql:
build: mysql
environment:
- MYSQL_ROOT_PASSWORD=XXX
volumes:
- ./mysql/db:/var/lib/mysql
mysql dockerfile:
from mysql:5.7.17
ENV LANG=C.UTF-8
ENV TZ=Europe/Warsaw
自己的云码头文件:
FROM owncloud:9.1.4-apache
ENV LANG=C.UTF-8
ENV TZ=Europe/Warsaw
现在,如果我执行“docker-compose build”,则来自 owncloud/data (300GB) 的数据将被复制到新卷,这是不可能的,因为我没有足够的可用磁盘空间。
有没有办法在不复制数据的情况下使用 docker-compose 或 dockerfile 挂载这两个目录?有没有其他已知的方法来处理这种情况?
我花了超过 3 个小时发现这是不可能的,但我不敢相信情况确实如此。预先感谢您的回答。
构建时,docker 会将当前目录和子目录中的所有文件发送到守护进程。你知道这是上下文。
您有 2 个选择:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句