2016-12-23 21 views
9

Hizmetimi tanımlamak için docker-compose kullanıyorum. Docker'da, docker birimi için iki kavram var. Öncelikle yaklaşık bind mount: ana bilgisayar depolama alanına bağlanır.docker-compose: bağlama bağlama ve yönetilen mount için mount tanımlayın

docker run -d --name web-app -v $HOST/location:/container/location -p 80:80 httpd:latest 

İkinci yaklaşık managed mount olup: abstract depolama, ev sahibi bağlı değildir.

docker run -d --name web-app -v /container/location -p 80:80 httpd:latest 

Bu kavramları docker-compose ile eşlemek istiyorum. Bu, docker-compose kullanırken bind mount ve managed mount'u nasıl tanımlayabilirim anlamına gelir.

+2

Kontrol https://docs.docker.com/compose/compose-file/#/ volumes-volumedriver – kTT

+0

Suç yok ama Docker Compose'u nasıl kullanacağınız hakkında birçok temel soru soruyorsunuz. Docker Compose genel bakışından geçmeye başlamanızı öneririm, sorduğunuz tüm temel kavramları açıklar: https://docs.docker.com/compose/overview/ – nwinkler

+0

@nwinkler çok teşekkürler. Bunun için gerçekten üzgünüm. Docker benimle çok yeni. Sonra çok fazla ilgili belgeyi okudum, bu yüzden birçok şeyi yanlış anladım :( –

cevap

10

Sen Docker Yazım Penceresinin volumes bölümünde bu Docker kavramları bulabilirsiniz: https://docs.docker.com/compose/compose-file/#/volumes-volumedriver

Örnekler:

volumes: 
    # Just specify a path and let the Engine create a volume 
    - /container/location 

    # Specify an absolute path mapping 
    - ./myfolder/location:/container/location 
+4

Sözdizimi hangi işlevler için çalıştıracağınızı biliyor musunuz? '.yml' dosyasının kökü nedir? Çözümünüz yalnızca "hizmetler:" etiketinin altında yer alan "birimler: etiketi" için çalışacaktır. – kapad