2016-01-26 19 views
8

Docker belgelerine göre bir reddeli bir python uygulamasının çok basit bir ilk testini denedim. Bu bir süre sonra çöküyor, çünkü kırmızılar devam edemiyor. Neden bir fikrim yok. Burada kamu repo bulabilirsiniz: Github repoDocker-compose'daki diske neden erişilemiyor?

Bulunduğum liman işçisi-compose.yml geçerli:

web: 
    build: . 
    ports: 
    - "5000:5000" 
    volumes: 
    - .:/code 
    links: 
    - redis 
redis: 
    image: redis:latest 
    volumes: 
    - ./data:/data 

Düzenleme:

1:M 09 Feb 10:51:15.130 # Background saving error 
1:M 09 Feb 10:51:21.072 * 100 changes in 300 seconds. Saving... 
1:M 09 Feb 10:51:21.073 * Background saving started by pid 345 
345:C 09 Feb 10:51:21.074 # Failed opening .rdb for saving: Permission denied 
1:M 09 Feb 10:51:21.173 # Background saving error 
1:M 09 Feb 10:51:27.011 * 100 changes in 300 seconds. Saving... 
1:M 09 Feb 10:51:27.011 * Background saving started by pid 346 
346:C 09 Feb 10:51:27.013 # Failed opening .rdb for saving: Permission denied 

EDIT2: Bu günlüğün bir alıntıdır şudur tam hata Redis python içinde atar:

MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error 

Komik olan şey, redis görüntüsüne bir şey yap.

+0

Makinenizde bir şey olmalı, .yml dosyanızı test ettim ve benim için çalışıyor –

+0

Redis devam edemediğinden çöktüğünden emin misiniz? Redis bu şekilde davranmıyor – tddmonkey

+0

Redis konteynerinizin kayıtlarını 'docker logs --follow ' ile görüntüleyebilirsiniz. Burayı kontrol edip gönderebilir misin? – alkis

cevap

14

Bu bir yetki hatası olduğunu docker exec -it redis_container_name bash aracılığıyla Redis kabın içine giriş ve /data yazma izinlerine sahip olun.

Muhtemelen yoktur ve bunu çeşitli yollarla düzeltebilirsiniz: ana bilgisayara bağlanmak yerine docker volume kullanın veya ana makineden izinleri uid/gid ile kapsayıcıda eşleştirerek düzeltmeye çalışın. Eğer veri devam niyetinde olmadığını

web: 
    build: . 
    ports: 
    - "5000:5000" 
    volumes: 
    - .:/code 
    links: 
    - redis 
redis: 
    image: redis:latest 
    command: redis-server --appendonly yes 
    volumes: 
    - ./data:/data 

:

Ayrıca liman işçisi göbek sayfasında da belirtildiği gibi, size REDIS' komutunu belirlesin.

data klasörünüz yanlış izinler kümesine ayarlı olduğundan, silme işlemini başlatın ve docker-compose öğesinin yeni bir tane olmasını sağlayın. Ben iyi çalıştı liman işçisi dosyasının sürüm 2 ile çalıştı kez

+0

Repo'yu çatabilir misiniz, düşündüğünüz şeyi güncelleştirebilir ve bana bir çekme isteği gönderebilir misiniz? Bazı şeyleri denedim ama docker için çok yeni olduğum için gerçekten anlamadım. Afedersiniz. –

+0

@DennisDecoene benim düzenlemelerimi gör –

0

Ben çalışan bir sürümü ile benim repo güncelledik, 0.2

etiketleyin.