2015-04-17 13 views
6

benim django nginx postgresql ve saf bir veri kap için 3 liman işçisi kapları inşa etmek için bir liman işçisi-compose.yml dosyasını kullanıyorum için liman işçisi-oluşturur.saf veri konteyner ve web sunucusu, postgresql

İşte

data: 
    # pure data container 
    image: busybox 
    volumes: 
    - /etc/postgresql 
    - /var/log/postgresql:/var/log/postgresql 
    - /var/lib/postgresql 
    - /var/log/nginx:/var/log/nginx 
    - /var/log/supervisor:/var/log/supervisor 

db: 
    image: postgres 
    volumes_from: 
    - data 

web: 
    build: . 
    ports: 
    - "80:80" 
    - "443:443" 
    links: 
    - db 
    volumes_from: 
    - data 


$docker ps -a 
CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS      PORTS          NAMES 
cc26b3a72a02  myweb_web:latest "supervisord -n"  6 minutes ago  Up 6 minutes    0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp myweb_web_1   
14763a9f68d1  postgres:latest  "/docker-entrypoint. 6 minutes ago  Up 6 minutes    5432/tcp         myweb_db_1   
37598892038b  busybox:latest  "/bin/sh"    6 minutes ago  Exited (0) 6 minutes ago            myweb_data_1 

nasıl saf veri konteyner (myweb_data_1) saklanan postgresql veri yedekleme ve geri yükleme ile ilgili endişeleri benim liman işçisi-compose.yml olduğunu. Bunu yapmak için en iyi yolu doğru veya eğer liman işçisi görüntüleri yeniden inşa etmek ve ben kodlarını güncellemek eğer konteynerleri yeniden, ama emin değilim için komut "liman işçisi-oluşturma & & liman işçisi-oluşturmak oluşturmak" kullanırlar.

cevap

0

Bu deneyebilirsiniz:

liman işçisi çalıştırmak --volumes-dan myweb_data_1 -v $ (pwd):/yedek ubuntu katran cvf

3

/backup/backup.tar Bilmiyorum postgresql ile deneyime sahip, ama docker bakış açısından bu yaklaşım mükemmel görünüyor. Verileriniz veri kabında olacak. docker-compose build && docker-compose up'dan etkilenmeyecektir. Raman Gupta onun article bu konu içine iyi bir giriş yapmaktadır. Ayrıca, yalnızca veri taşıyan kapsayıcılar için'a uygun zihniyete gereksinim duyduğunuzu vurgulamaktadır. Bu demektir, bir "yedek-konteyneri" sahip olabilir. postgres resim kullan ve --volumes-from myweb_data_1 kullanır ondan yeni bir kapsayıcı, çalıştırın. Şimdi kapsayıcıda, postgresql'den uygun araçlara ve veri-kabındaki veritabanınıza erişime sahip olursunuz. Yine, postgresql farklı olabilir, ancak mysql için bu, gayet iyi çalışan ve en iyi uygulamayı anladığım yoldur. Bu arada, mysql bir sunucudur. Böylece yeni bir kap açıp myweb_db_1 konteynerinize (--link) bağlayabilirsiniz. Postgresql nasıl davrandığından emin değil.