2016-04-11 19 views
7

Bu kapsayıcıya debian:jessie (ancak bu sorun, alpine:3.3 ile aynı sorunu yaşadığım için çok alakalı değil) temel aldım. BenDocker kabını nasıl monte edebilirim?

mount --bind /htdocs/www /home/user/example.com/www 

gereken noktaya ulaşmak ve herhangi bir çekirdek günlüğüne bir şey bulamıyorum ben

mount: permission denied 

olsun ve -vvv ilginç bir şey verir. Açıkçası bunu ana bilgisayarda yapabilirim (başka bir alt ağaç/düğüm çifti ile). Yukarıdaki örnekte/htdocs/www bir Docker biriminin bağlantı noktasıdır, ancak kapsayıcının içinde herhangi bir alt ağaç/node çifti bulunamadığından herhangi bir önem taşımamaktadır.

+2

Konteynerin içine monte edilmenin bir nedeni var mı? Kapsayıcıyı -v /home/user/example.com/www:/htdocs/www' ile çalıştırmak, bu dosyaların geldiği kapsayıcıya saydam olduğu için daha iyi bir çözüm olabilir ve kapsayıcıya ihtiyaç duymaz. ek ayrıcalıklar – thaJeztah

+0

İyi nokta. Ancak, bu, yeni bir kullanıcı ve/veya mevcut bir kullanıcıya başka bir site eklemek istediğimde her seferinde kabı yeniden yaratmamı zorluyor. Bunu durdurmak zorunda kalmadan, çalışan bir kapta bunu yapmak istiyorum. – Morpheu5

+0

Bir konteynere birden çok site koymamalısınız; Bir konteynırı döndürmek yaklaşık 300 milisaniye sürer. Bir kapta sadece tek bir siteye sahip olmak, onu daha da temizler; sadece bu site için gerekenlere sahipsiniz ve (ör.) muhtemelen çakışan (site-a, site-b) – thaJeztah

cevap

12

mount sistem çağrısı kullanmak için, CAP_SYS_ADMIN yeteneğine gereksiniminiz vardır. Varsayılan olarak, Docker, bir kabı oluştururken tüm yetenekleri azaltır (yani kökü olarak, her şeyi yapmanıza izin verilmez). Daha fazla bilgi için mount(2) man page'a bakın.

Kapsayıcınızla için bu özelliği eklemek için --cap-add=SYS_ADMIN bayrağıyla kapsayıcınızı başlatabilirsiniz:

[email protected] > docker run --rm -it --cap-add=SYS_ADMIN debian:jessie 
[email protected]:/# mkdir /mnt/test 
[email protected]:/# mount --bind /home /mnt/test/ 
[email protected]:/# 

kullanın bu dikkatle ile. Ayrıcalıklı bir kapsayıcıda güvenilmeyen yazılımı çalıştırmayın.

+2

açıkladığın için teşekkürler Çok dikkatli olacağım sözüm :) Teşekkürler. – Morpheu5

İlgili konular