Saltar a contenido

Instalación de Docker.

Compatible con:

| Windows

| Linux

| Mac

En esta guía utilizaremos Linux

Diferencia entre Docker Desktop 🆚 Docker Engine.

Es una aplicación que incluye Docker Engine junto con herramientas adicionales como Docker Compose y una interfaz gráfica, facilitando su uso.

Es gratuita para uso personal y educativo, aunque puede requerir licencia en entornos empresariales.

Es el componente principal de Docker, encargado de crear y ejecutar contenedores. Es gratuito, de código abierto y se utiliza principalmente en sistemas Linux como Ubuntu, funcionando desde la terminal. Es básicamente docker por terminal.


IMPORTANTE SEGUIR LOS PASOS TAL CUAL

En Linux suele venir el paquete de docker instalado por defecto, pero aquí surge un problema, el paquete está un opco regular y nos da problemas por lo que en la página principal de docker nos especifican que debemos desinstalarlo e instalarlo correctamente como es debido.

Además, también tienes que instalar primero Docker Engine y a continuación Docker Desktop si quieres que todo funcione de forma correcta.

1. Instalación de Docker Engine.

Seguiremos principalmente el enlace oficial: https://docs.docker.com/engine/install/ubuntu/

Donde nos dice que primero desinstalemos el docker q nos viene por defecto.

sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)

Actualizamos repositorios

# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

Y por último instalamos

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Si aún tuviéramos algún problema con esta instalación podemos seguir estos pasos post-instalación: https://docs.docker.com/engine/install/linux-postinstall/

2. Instalación de Docker Desktop.

Al instalar Docker Desktop, ya se instala automáticamente Docker compose también

Vamos a seguir los pasos de instalación de la web oficial para Ubuntu: https://docs.docker.com/desktop/setup/install/linux/ubuntu/


Prerrequisitos

Lo que primero nos pide es saber si estamos utilizando gnome porque es necesario, sino lo instalaremos.

Comprobar si ya usamos Gnome
echo $XDG_CURRENT_DESKTOP
Aparecerá algo como esto si lo tenemos instalado.

ubuntu:GNOME

Instalar Gnome
sudo apt install gnome-terminal
Instalación

Descargamos la versión del paquete .deb más reciente.

Lanzamos el comando de instalación:

$ sudo apt-get update
$ sudo apt install ./docker-desktop-amd64.deb

Error de permisos

Si te aparece un error de permisos como este: permiso denegado

Debemos ignorarlo porque, por defecto, Docker Desktop se instala en /opt/docker-desktop.

El paquete DEB incluye un script posterior a la instalación que completa automáticamente pasos de configuración adicionales.

⚠ IMPORTANTE NO solucionar este problema porque puede que no nos funcione como debería.

Buscamos la app en nuestro escritorio y la iniciamos.

docker instalado

Aceptamos los términos y ya tendríamos docker instalado en local

Para iniciar sesión debes tener 'pass'. Enlace de ayuda

pass


3. Descarga y ejecución.

Tarea a realizar

Vamos a Descargar y ejecutar una imagen de Nginx y mostraremos la web de bienvenida predefinida.

Ejecutar contenedor
   docker run -d -p 8080:80 nginx
  • -d(detached): ejecuta el contenedor en segundo plano para no bloquear la terminal.
  • -p: mapea puertos (8080: del host, nuestro ordenador y el 80: dentro del contenedor).
Imágenes

comando docker nginx

docker en desktop


En el navegador escribimos http://localhost:8080 para acceder al contenedor.

nginx panel