2016-03-31 13 views
3

Belki de bunu çok karmaşık yapıyorum.Docker kabından ana bilgisayarına nasıl yedekleme yapılır?

Amacım, Windows için Node.js uygulama geliştirmesi için Docker tabanlı bir iş akışı oluşturmaktır.

gelişme Zamanla
  1. , (Ben en son görmek için görüntü her şey yeniden istemiyorum) bir kap içine lokal olarak Uygulamamı çalıştırmak ve hala çok fazla uğraşmadan en son sürümünü görmek mümkün olurdu .

    Ben üretim dağıtımının zaman, ben

Yani iki Vagrantfiles oluşturulan tüm bağımlılıkları (npm install)

ile konteyner görüntü içine benim kaynak dosyaları "pişmiş" olmasını istiyorsanız Öte yandan
  • - kapsayıcı için ve biri ev sahibi için. İşte İkincisinin bir özü var:

    Vagrant.configure(2) do |config| 
        config.vm.provider "docker" do |docker| 
        docker.vagrant_vagrantfile = "host/Vagrantfile" # it references the host Vagrantfile 
        docker.build_dir = "." # we have a Dockerfile in the same dir 
        docker.create_args = ['--volume="/usr/src/host:/usr/src/appcontainer:rw"'] 
        end 
    end 
    

    /usr/src/host (node_modules olmadan) benim kaynak kodu tümünü içeren bir dizin. Dockerfile oluşturmaya'de sırasında, Docker kopyalar /usr/src/appcontainer için package.json ve benim ikinci gereksinimi için gayet orada bir npm install

    (üretim dağıtımının) sorunları Ama benim ilk şartı gelişimi sırasında kaynağını değiştirmek, bu yüzden /usr/src/appcontainer monte ana makine dizinine işaret eden bir birim olarak /usr/src/host. Ancak, bu çalışmaz, çünkü /usr/src/host, node_modules klasörüne sahip değildir - bu klasör yalnızca kapsayıcıda bulunur.

    Bu sorun, Windows altında bir dosyayı değiştirmenin kolay olduğu gibi görünüyor; hem Linux ana makinesinde hem de kapsayıcısında ve tersi durumda değişiyor ... Ama biraz sıkışmış durumdayım.

    Bu senkronizasyon davranışını gerçekleştirmenin en iyi yolu nedir?

    cevap

    1

    Ancak bu çalışmıyorsa,/usr/src/ana Bir verileri kullanılarak örneğin this question açıklanan yaklaşımlardan birini kullanabilirsiniz bir node_modules klasör

    olmadığından node_modules için ayrılmış hacim.
    Ya da ana makine node_modules'u kapsayıcının içinde ayrı bir klasör olarak monte edin.

    +0

    Bu nedir! Teşekkürler! – Zsolt