2017-03-31 1 views
0

내 Owncloud 인스턴스를 도커로 이동하려고합니다. 나는 120GB의 루트를 가진 "서버"와 owncloud 데이터를 위해 지정된 500GB의 USB 디스크를 가지고있다. 나는 이러한 구성 해낸 :docker-compose 또는 dockerfile (복사하지 않음)을 사용하여 디렉토리 마운트

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 

이제 내가 할 경우 '도커 - 작성 빌드', 자신의 데이터 클라우드/데이터 (300GB)가 새 볼륨에 복사되는 중입니다. 그만큼의 여유 디스크 공간이 없기 때문에 불가능합니다.

데이터를 복사하지 않고 docker-compose 또는 dockerfile을 사용하여 두 디렉토리를 마운트하는 방법이 있습니까? 그런 상황을 다루는 다른 알려진 방법이 있습니까?

나는 이것이 불가능하다는 것을 알기 위해 3 시간 이상을 소비했다. 그러나 나는 그것이 사실이라고 믿을 수 없다. 귀하의 답변에 미리 감사드립니다.

+0

당신이 데이터를 복사하는 대신에 장착되고 있는지 생각하게 데이터 디렉토리를 .dockerignore 파일을 생성하고 추가? 당신이 게시 한 내용은 예상대로 작동해야합니다. – Creek

+0

도커 작성 명령을 빌드 할 때 owncloud에 대해 매우 오래 걸리며 "df -h"에서 여유 공간/감소로 볼 수 있습니다. –

+0

같은 일이'도커 - 소유권 확립 '으로 발생합니까? – Creek

답변

0

빌드 할 때 docker는 현재 디렉토리와 하위 디렉토리의 모든 파일을 데몬으로 보냅니다. 이것을 컨텍스트로 알고 있습니다. 당신은 이미지를 구축하고있는 디렉토리 구조의 외부

  • 이동 데이터 디렉토리 :

    당신은 두 가지 옵션이 있습니다.

https://docs.docker.com/engine/reference/builder/#usage

+0

.dockerignore가 트릭을했습니다. 고맙습니다 ! –

관련 문제