GNU/Linux >> Belajar Linux >  >> Linux

Docker menulis volume Izin linux

Menurut referensi docker-compose dan docker run, user opsi mengatur id pengguna (dan id grup) dari proses yang berjalan di wadah. Jika Anda menyetel ini ke 1000:1000 , server web Anda tidak dapat mengikat ke port 80 lagi. Mengikat ke port di bawah 1024 memerlukan izin root. Ini berarti Anda harus menghapus user: 1000:1000 yang ditambahkan pernyataan lagi.

Untuk mengatasi masalah izin dengan volume bersama, Anda perlu mengubah kepemilikan direktori. Jalankan chown 1000:1000 /path/to/volume . Ini dapat dijalankan di dalam wadah atau langsung di sistem host. Perubahan ini terus-menerus dan segera berlaku (penampung tidak perlu dimulai ulang).

Secara umum, menurut saya volumenya harus dalam sub-direktori, mis.

  volumes:
    - ./public:/var/www/html

Pastikan pengguna yang benar memiliki ./public . Jika Anda memulai wadah dan direktori tidak ada, buruh pelabuhan akan membuatnya untuk Anda. Dalam hal ini, direktori dimiliki oleh root dan Anda perlu mengubah kepemilikan secara manual seperti yang dijelaskan di atas.

Sebagai alternatif, Anda dapat menjalankan server web sebagai pengguna yang tidak berhak (user: 1000:1000 ), biarkan server mendengarkan pada port 8080 dan ubah perutean ke

 ports:
    - "8080:8080"

Linux
  1. Izin Linux 101

  2. Apa itu pengguna Linux?

  3. Apa itu Umask di Linux?

  1. Dasar-dasar Izin File Linux

  2. perintah su Linux

  3. Tambahkan pengguna Linux dengan izin root dokumen

  1. Panduan pemula untuk izin Linux

  2. Memahami Izin File Linux

  3. Memutakhirkan Docker di Amazon Linux AMI