sudo , el comando más útil de Linux, ocasionalmente falta en varias distribuciones de Linux, sobre todo en contenedores docker y distribuciones ligeras de Linux.
sudo es una utilidad que permite a los usuarios ejecutar comandos con root acceso. Es el comando más útil y está incluido en casi todas las principales distribuciones de Linux. Sí, casi todos. Varias distribuciones de Linux, en particular las imágenes de la ventana acoplable, no incluyen el sudo paquete por defecto. Si ve el error bash: sudo: command not found simplemente significa que sudo no está instalado.
bash:sudo:comando no encontrado
sudo será suficiente. Sin embargo, la instalación de un nuevo paquete requiere el uso de root capacidades. sudo .
Para Ubuntu o sus derivados
$ apt install sudo Para Fedora o sus derivados
$ dnf install sudo Para RHEL o sus derivados
$ yum install sudo Para Arch Linux o sus derivados
$ pacman install sudo Para imágenes Docker
Sin embargo, si no hay una cuenta raíz, como en el caso de numerosas imágenes acoplables, es posible que esto no sea posible. root usuario. En ese caso, tendremos que crear una imagen personalizada con sudo pre instalado. No te preocupes, es fácil.
Crear una imagen Docker personalizada
Se requiere un Dockerfile para construir una imagen acoplable personalizada. Dockerfile se usa para definir todo en una determinada sintaxis, y el comando de compilación docker se usa para generar una imagen a partir de él.
Crear archivo 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 Usamos la etiqueta EJECUTAR en la tercera parte, que está marcada con "Instalar las herramientas", y cualquier comando después de EJECUTAR se ejecutará antes de generar nuestra imagen personalizada. Entonces, al escribir un comando aquí, podemos instalar cualquier paquete que deseemos. Si seguimos escribiendo comandos, incluso podemos activar un servidor completo.
Para obtener más información sobre Dockerfile, consulte la documentación oficial de Docker.
Guarde y cierre el Dockerfile. Ahora, abra la línea de comando y navegue hasta el directorio que contiene el Dockerfile y ejecute el siguiente comando:
sudo docker build -t image-name:tag . Cambiar el nombre de la imagen:etiqueta con el nombre y la etiqueta que desees.
unable to prepare context: context must be a directory: /home/sandy/Dockerfile . Por lo tanto, debe estar dentro del directorio que contiene Dockerfile y usar . para especificar el directorio actual o la ruta completa al directorio que contiene Dockerfile.
Y eso es. docker build comenzará a construir el comando. Tomará unos segundos. Una vez hecho esto, nuestra imagen acoplable personalizada se guarda en nuestra caché de imágenes local. Ahora podemos usar image-name:tag para crear un contenedor docker que tenga sudo preinstalado.