Ya, Docker mencegah Anda memasang volume jarak jauh di dalam wadah sebagai tindakan pengamanan. Jika Anda memercayai gambar Anda dan orang yang menjalankannya, Anda dapat menggunakan --privileged
bendera dengan docker run
untuk menonaktifkan tindakan keamanan ini.
Selanjutnya, Anda dapat menggabungkan --cap-add
dan --cap-drop
untuk memberikan wadah hanya kemampuan yang benar-benar dibutuhkannya. (Lihat dokumentasi) SYS_ADMIN
kapabilitas adalah salah satu yang memberikan hak istimewa mount.
- ya
- Ada masalah tertutup mount.cifs dalam wadah
https://github.com/docker/docker/issues/22197
menurut yang menambahkan
--cap-add SYS_ADMIN --cap-add DAC_READ_SEARCH
ke opsi jalankan akan membuat mount -t cifs beroperasi.
Saya mencobanya dan:
mount -t cifs //<host>/<path> /<localpath> -o user=<user>,password=<user>
dalam wadah kemudian berfungsi
Anda bisa menggunakan smbclient
perintah (bagian dari paket Samba) untuk mengakses server SMB/CIFS dari dalam wadah Docker tanpa memasangnya, dengan cara yang sama seperti Anda menggunakan curl
untuk mengunduh atau mengunggah file.
Ada pertanyaan di StackExchange Unix yang membahas hal ini, namun singkatnya:
smbclient //server/share -c 'cd /path/to/file; put myfile'
Untuk banyak file ada -T
opsi yang dapat membuat atau mengekstrak .tar
arsip, namun sepertinya ini akan menjadi proses dua langkah (satu untuk membuat .tar
dan kemudian yang lain untuk mengekstraknya secara lokal). Saya tidak yakin apakah Anda dapat menggunakan pipa untuk melakukannya dalam satu langkah.