Saya bekerja dengan Docker, dan saya ingin memasang folder dinamis yang banyak berubah (jadi saya tidak perlu membuat gambar Docker untuk setiap eksekusi, yang akan terlalu mahal), tetapi saya ingin folder itu menjadi hanya-baca . Mengubah pemilik folder menjadi orang lain berfungsi. Namun, chown
memerlukan root
akses, yang saya lebih suka untuk tidak mengekspos aplikasi.
Ketika saya menggunakan -v
flag untuk memasang, itu memberikan nama pengguna apa pun yang saya berikan, saya membuat pengguna non-root di dalam gambar buruh pelabuhan, namun, semua file dalam volume dengan pemilik sebagai pengguna yang menjalankan buruh pelabuhan, berubah menjadi pengguna I berikan dari baris perintah, jadi saya tidak dapat membuat file dan folder hanya-baca. Bagaimana cara mencegahnya?
Saya juga menambahkan mustafa ALL=(docker) NOPASSWD: /usr/bin/docker
, sehingga saya dapat beralih ke pengguna lain melalui terminal, tetapi tetap saja, file tersebut memiliki izin untuk pengguna saya.
Jawaban:
Anda dapat menentukan bahwa volume harus hanya-baca dengan menambahkan
:ro
ke-v
sakelar:Perhatikan bahwa folder kemudian menjadi hanya-baca di penampung dan baca-tulis di host.
Edit 2018
Menurut dokumentasi Gunakan volume , sekarang ada cara lain untuk memasang volume dengan menggunakan
--mount
sakelar. Berikut adalah cara memanfaatkannya dengan read-only:buruh pelabuhan-menulis
Berikut adalah contoh cara menentukan penampung hanya-baca di
docker-compose
:sumber
docker cp
perintah terpisah pada wadah mematikan.redis:alpine:ro
buruh pelabuhan-menulis
Berikut adalah cara yang tepat untuk menentukan volume hanya-baca di
docker-compose
:https://docs.docker.com/compose/compose-file/#long-syntax-3
sumber
version: "3.2"
- Terima kasih :)- './my-file.txt:/container-readonly-file.txt:ro'
bawahvolumes
- perhatikan:ro
di akhir.