2016-06-13 5 views
0

2 개의 컨테이너를 연결하는 데 어려움이 있었으며 고정 장치 사용을 시작하는 것이 좋습니다. 그래서 나는 다음과 같은 고정 표시기-작성 파일 구축이 매우 잘 작동docker 볼륨에 대한 쓰기/읽기 액세스를 처리하는 방법은 무엇입니까?

version: '2' 
services: 
    db: 
    image: mysql:latest 
    volumes: 
     - "./.data/db:/var/lib/mysql" 
    restart: always 
    environment: 
     MYSQL_ROOT_PASSWORD: my-pass 
     MYSQL_DATABASE: prestashop 
     MYSQL_USER: my-shop 
     MYSQL_PASSWORD: my-pass 

    prestashop: 
    depends_on: 
     - db 
    image: prestashop/prestashop:latest 
    volumes: 
     - "./.data/themes:/var/www/html/themes" 
     - "./.data/modules:/var/www/html/modules" 
     - "./.data/override:/var/www/html/override" 
    links: 
     - db 
    ports: 
     - "10083:80" 
    restart: always 
    environment: 
     DB_SERVER: db 
     DB_NAME: prestashop 
     DB_USER: my-shop 
     DB_PASSWD: my-pass 

을 나는 역의 nginx 프록시를 통해 페이지를 방문하면 나는 초기 마법사를 설치 얻을.

하지만 영구 데이터 볼륨을 추가하는 경우 :

volumes: 
    - "./.data/themes:/var/www/html/themes" 
    - "./.data/modules:/var/www/html/modules" 
    - "./.data/override:/var/www/html/override" 

마법사는 많은 읽기/쓰기 액세스에 대해 불평 할 것이다. 왜 그럴까요? 내부 볼륨에는 이미 적절한 chmod가 있습니다. 그래서 나는 그것이 단지 동기화 문제라고 생각합니다. 하지만 .data 폴더를 chmod 또는 chown하려고했지만 성공하지 못했습니다.

+1

docker-compose가 볼륨을 매핑한다는 것을 발견했지만 폴더가 방금 생성 되었기 때문에 비어 있습니다. 기본 데이터를 var/www/html에서 내 호스트 시스템으로 동기화하는 방법이 있습니까? – user3411864

답변

2

이 문제가 해결되었습니다. 후 나는 모든 파일을 사용할 수있는 경우 PrestaShop 버전 확인 것이기 때문에 고정 표시기의 CP

으로 호스트 시스템에 내부 폴더 모듈, 테마를 복사하고 무시했다 -d을 고정 표시기-구성한다.

복사 한 후 prestashop 설치 절차를 실행할 수 있습니다.