我试图将我的Owncloud实例移动到docker。我有一台服务器"使用120GB root和500GB usb磁盘指定用于owncloud数据。我想出了这样的配置:
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
Owncloud dockerfile:
FROM owncloud:9.1.4-apache
ENV LANG=C.UTF-8
ENV TZ=Europe/Warsaw
现在如果我做#34; docker-compose build&#34;,来自owncloud / data(300GB)的数据被复制到新卷,这是不可能的,因为我没有这么多的可用磁盘空间。
有没有办法使用docker-compose或dockerfile挂载这两个目录而不复制数据?有没有其他已知的处理这种情况的方法?
我花了3个多小时才发现这是不可能的,但我无法相信情况就是如此。提前感谢您的回答。
答案 0 :(得分:0)
构建时,docker会将当前目录和子目录中的所有文件发送到守护程序。你知道这是上下文。
您有两个选择: