GNU/Linux >> Linux Esercitazione >  >> Linux

Docker componi il volume Autorizzazioni linux

Secondo il riferimento docker-compose e docker run, il file user L'opzione imposta l'ID utente (e l'ID gruppo) del processo in esecuzione nel contenitore. Se lo imposti su 1000:1000 , il tuo server web non è più in grado di collegarsi alla porta 80. Il collegamento a una porta inferiore a 1024 richiede i permessi di root. Ciò significa che dovresti rimuovere il user: 1000:1000 aggiunto dichiarazione di nuovo.

Per risolvere il problema di autorizzazione con il volume condiviso, è necessario modificare la proprietà della directory. Esegui chown 1000:1000 /path/to/volume . Questo può essere eseguito all'interno del contenitore o direttamente sul sistema host. La modifica è permanente ed effettiva immediatamente (non è richiesto il riavvio del contenitore).

In generale, penso che il volume dovrebbe trovarsi in una sottodirectory, ad es.

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

Assicurati che l'utente corretto possieda ./public . Se avvii il contenitore e la directory non esiste, docker lo crea per te. In questo caso, la directory è di proprietà di root e devi cambiare la proprietà manualmente come spiegato sopra.

In alternativa, puoi eseguire il server web come utente senza privilegi (user: 1000:1000 ), lascia che il server sia in ascolto sulla porta 8080 e cambia il routing in

 ports:
    - "8080:8080"

Linux
  1. Autorizzazioni Linux 101

  2. Che cos'è un utente Linux?

  3. Cos'è Umask in Linux

  4. Nozioni di base sui permessi dei file Linux

  5. Aggiungi un utente Linux con autorizzazioni di root del documento

Permessi dei file Linux:tutto ciò che devi sapere

Introduzione a Docker Compose in Linux

Come eseguire Docker come utente non root in Linux

Come cambiare utente su Linux

Come installare Docker e Docker Compose su Linux

Permessi della directory Linux di base e come controllarli