GNU/Linux >> Znalost Linux >  >> Linux

Docker skládat svazek Oprávnění linux

Podle odkazu na docker-compose a docker run, user volba nastavuje ID uživatele (a ID skupiny) procesu spuštěného v kontejneru. Pokud toto nastavíte na 1000:1000 , váš webový server se již nemůže vázat na port 80. Vazba na port pod 1024 vyžaduje oprávnění root. To znamená, že byste měli odstranit přidaný user: 1000:1000 znovu prohlášení.

Chcete-li vyřešit problém s oprávněními ke sdílenému svazku, musíte změnit vlastnictví adresáře. Spusťte chown 1000:1000 /path/to/volume . To lze provést uvnitř kontejneru nebo přímo v hostitelském systému. Změna je trvalá a platí okamžitě (není potřeba restartovat kontejner).

Obecně si myslím, že svazek by měl být v podadresáři, např.

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

Ujistěte se, že správný uživatel vlastní ./public . Pokud spustíte kontejner a adresář neexistuje, docker jej vytvoří za vás. V tomto případě je adresář ve vlastnictví root a musíte změnit vlastnictví ručně, jak je vysvětleno výše.

Případně můžete webový server spustit jako neprivilegovaný uživatel (user: 1000:1000 ), nechte server naslouchat na portu 8080 a změňte směrování na

 ports:
    - "8080:8080"

Linux
  1. Oprávnění pro Linux 101

  2. Základy oprávnění k souborům Linux

  3. Linux su příkaz

  1. Co je uživatel Linuxu?

  2. Přidejte uživatele systému Linux s oprávněními root dokumentů

  3. Upgrade Dockeru na Amazon Linux AMI

  1. Průvodce pro začátečníky oprávněními pro Linux

  2. Vysvětlení oprávnění souborů v systému Linux

  3. Co je Umask v Linuxu