sudo
, il comando più utile di Linux, a volte manca in diverse distribuzioni Linux, in particolare i contenitori docker e le distribuzioni Linux leggere.
sudo
è un'utilità che consente agli utenti di eseguire comandi con root
accesso. È il comando più utile ed è incluso in quasi tutte le principali distribuzioni Linux. Sì, quasi tutti. Diverse distribuzioni Linux, in particolare le immagini docker, non forniscono il sudo
pacchetto per impostazione predefinita. Se vedi l'errore bash: sudo: command not found
significa semplicemente che sudo
non è installato.
bash:sudo:comando non trovato
sudo
sarà sufficiente. Tuttavia, l'installazione di un nuovo pacchetto richiede l'uso di root
capacità. sudo
.
Per Ubuntu o suoi derivati
$ apt install sudo
Per Fedora o suoi derivati
$ dnf install sudo
Per RHEL o suoi derivati
$ yum install sudo
Per Arch Linux o suoi derivati
$ pacman install sudo
Per le immagini Docker
Tuttavia, se non è presente un account root, come nel caso di numerose immagini Docker, ciò potrebbe non essere possibile. root
utente. In tal caso, dovremo creare un'immagine personalizzata con sudo
pre installato. Non preoccuparti, è facile.
Crea un'immagine Docker personalizzata
Per creare un'immagine Docker personalizzata è necessario un Dockerfile. Dockerfile viene utilizzato per definire tutto in una determinata sintassi e il comando docker build viene utilizzato per generare un'immagine da esso.
Crea file Docker
touch Dockerfile
nano Dockerfile or gedit Dockerfile
# This is the base image we will use to create our custom docker image
FROM ubuntu:latest
#
# the maintainer of an image
LABEL maintainer="[email protected]"
#
# Install the tools (sudo)
RUN apt-get update && apt-get upgrade -y && apt install sudo tasksel -y
Abbiamo usato l'etichetta RUN nella terza parte, che è contrassegnata con "Installa gli strumenti", e qualsiasi comando dopo RUN verrà eseguito prima di generare la nostra immagine personalizzata. Quindi, digitando un comando qui, possiamo installare qualsiasi pacchetto desideriamo. Se continuiamo a scrivere comandi, possiamo persino avviare un server completo.
Per ulteriori informazioni su Dockerfile, fare riferimento alla documentazione ufficiale della finestra mobile.
Salva e chiudi il Dockerfile. Ora apri la riga di comando e vai alla directory contenente il Dockerfile ed esegui il seguente comando –
sudo docker build -t image-name:tag .
Modifica il nome-immagine:tag con qualsiasi nome e tag desideri.
unable to prepare context: context must be a directory: /home/sandy/Dockerfile
. Quindi devi essere all'interno della directory contenente Dockerfile e utilizzare . per specificare la directory corrente o il percorso completo della directory contenente Dockerfile.
E questo è tutto. docker build
inizierà a costruire il comando. Ci vorranno alcuni secondi. Una volta terminato, la nostra immagine della finestra mobile personalizzata viene salvata nella nostra cache di immagini locale. Ora possiamo usare image-name:tag per creare un contenitore mobile con sudo preinstallato.