Bagaimana saya bisa berbagi folder antara sistem host (ubuntu 14.04) dan wadah lxc ubuntu?
Saya mencoba memasang folder pada host:
sudo mount --bind /media/data/share /media/data/container/name/rootfs/share
tapi saya tidak bisa melihat file apa pun.
Hal yang sama berlaku untuk:
sudo ln -s /media/data/share /media/data/container/name/rootfs/share
Apakah saya perlu mengubah izin untuk folder berbagi?
lxd
) seperti yang digunakan dalam jawaban ini atau ke LXC (perangkat lunak dan toolset "lama" denganlxc-*
alat yang dinamai) atau ke proyek (di mana LXC kependekan dari LinuX Containers). Itulah alasan saya mengajukan pertanyaan ini pada meta Unix.SE.Saya menemukan sebuah artikel di wiki openSUSE: https://en.opensuse.org/User:Tsu2/LXC_mount_shared_directory
Saya mengikuti langkah-langkahnya dan berhasil sekarang.
Buat direktori host:
Buat direktori dalam wadah lxc:
Edit file konfigurasi lxc pada host:
sumber
share
dalamlxc.mount.entry
sangat penting.Di bawah ini adalah apa yang telah saya lakukan untuk me-mount salah satu direktori host saya ke wadah. Ini lebih sulit daripada kedengarannya karena kami ingin mencapainya
Setelah membaca berbagai artikel online (yang paling bermanfaat adalah masalah github ini ), inilah cara saya menyelesaikannya. Caranya adalah dengan memetakan uid dan gid dari pengguna host ke uid dan gid dari pengguna di dalam wadah.
Misalkan saya akan me
/home/breakds/projects
- mount ke lokasi yang sama persis di wadah. Direktori luar dimiliki oleh penggunabreakds
, yang memiliki uid dan gid1000
.Saya kemudian membuat pengguna dalam wadah yang disebut
debian
, yang uid dan gid kebetulan1000
juga (karena itu adalah pengguna non root pertama). Saya kemudian akan membuat profie (lxc) di host olehDan di bawah ini adalah isi dari profil (saya percaya itu dalam format yaml):
Kemudian, terapkan profil ini ke wadah itu secara permanen:
Ini harus melakukan trik.
CATATAN : Harap dicatat bahwa sebelum beralih ke profil ini, pastikan bahwa semua direcotries atau file yang pemilik / grupnya debian harus dihapus (dan mungkin dibuat kembali setelah beralih). Ini karena setelah pemetaan uid dan gid, kepemilikan mereka akan menjadi tidak valid. Saya awalnya berpikir karena saya hanya memetakan 1000 hingga 1000 semuanya harus baik-baik saja, tapi saya pikir saya melewatkan sesuatu di sini dan akan lebih bagus jika seseorang dapat memberi saran tentang bagaimana menyelesaikan ini tanpa hack.
sumber
chown
dari host.Anda juga dapat melakukan ini tanpa LXD dengan mengedit file konfigurasi LXC secara langsung:
Anda juga harus memastikan bahwa akun pengguna wadah itu diberikan izin untuk memetakan ke uid / gid 1000 di host dengan mengedit / etc / subuid dan / etc / subgid:
sumber