Docker es un conjunto de productos de plataforma como servicio que utilizan la virtualización a nivel del sistema operativo para entregar software en paquetes denominados contenedores. Los contenedores están aislados unos de otros y agrupan su propio software, bibliotecas y archivos de configuración; pueden comunicarse entre sí a través de canales bien definidos.
Publicaciones relacionadas
- Cómo instalar y configurar docker en Fedora 34/35
- Cómo instalar y configurar Docker en Debian 11
- Cómo instalar y configurar docker en Centos 8
- Introducción a Docker Compose con ejemplos
- Docker como agente de compilación:ejecute compilaciones de Jenkins en Docker
Requisitos
Para seguir, asegúrese de tener:
- Un sistema Ubuntu 20.04
- Acceso a Internet desde el sistema
- Acceso raíz o usuario con acceso sudo
Tabla de contenido
- Asegúrese de que los paquetes de su sistema estén actualizados
- Desinstalar versiones anteriores si las hay
- Instalar el motor docker usando el repositorio
- Instalar Docker Engine desde un paquete
- Instalar usando el script de conveniencia
- Verificar instalación
- Ejecutar el comando Docker sin Sudo
- Desinstalar docker cuando ya no se necesita
1. Asegúrese de que los paquetes de su sistema estén actualizados
Antes de continuar, asegurémonos de que sus paquetes estén actualizados
sudo apt update
sudo apt upgrade -y
2. Desinstalar versiones anteriores si las hay
Los paquetes que proporcionan versiones anteriores de Docker son docker
, docker.io
o docker-engine
.
Utilicemos este comando para asegurarnos de que estos paquetes no existen en nuestro sistema:
sudo apt-get remove -y docker docker-engine docker.io containerd runc
Está bien si apt-get informa que ninguno de estos paquetes está instalado.
Instalando ventana acoplable
Puede instalar Docker Engine de diferentes maneras, según sus necesidades:
- Puede configurar los repositorios de docker e instalar docker usando apt
- Puedes descargar los paquetes DEB e instalarlos manualmente
- Puede optar por utilizar scripts de conveniencia automatizados para instalar Docker
3. Instale el motor docker usando el repositorio
En un host nuevo, los repositorios de Docker no existen. Por primera vez en una nueva máquina host, debe configurar el repositorio de Docker. Luego, puede instalar y actualizar Docker desde el repositorio.
Instalemos los siguientes paquetes para permitir que apt use un repositorio sobre HTTPS:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
Agregue la clave GPG oficial de Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Use el siguiente comando para configurar el repositorio estable.
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Instalar el motor Docker
Actualice el índice del paquete apt ya que agregamos un nuevo repositorio:
sudo apt-get update
Ahora instalemos la última versión de Docker Engine y containerd usi
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
Opcional:Instalación de una versión específica
Si tiene requisitos que requieren una versión específica, puede hacerlo.
Para instalar una versión específica:
Enumere las versiones disponibles en su repositorio:
$ sudo apt-cache madison docker-ce
docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
Ahora puede instalar una versión específica usando la cadena de versión de la segunda columna, por ejemplo, 5:19.03.9~3-0~ubuntu-focal
.
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
Ejemplo:
sudo apt-get install docker-ce=5:19.03.9~3-0 docker-ce-cli=5:19.03.9~3-0 containerd.io
4. Instale el motor docker desde un paquete
Si no puede usar el repositorio de Docker para instalar Docker Engine, puede descargar el archivo .deb para su versión e instalarlo manualmente. Debe descargar un archivo nuevo cada vez que desee actualizar Docker.
Vaya a https://download.docker.com/linux/ubuntu/dists/, elija su versión de Ubuntu, luego busque pool/stable/
, elige amd64
, armhf
, o arm64
y descargue el archivo .deb para la versión de Docker Engine que desea instalar.
Instale Docker Engine, cambiando la ruta a continuación a la ruta donde descargó el paquete de Docker.
sudo dpkg -i /path/to/package.deb
El demonio Docker se inicia automáticamente.
Verifique que Docker Engine esté instalado correctamente ejecutando la imagen hello-world.
sudo docker run hello-world
Este comando descarga una imagen de prueba y la ejecuta en un contenedor. Cuando se ejecuta el contenedor, imprime un mensaje informativo y sale.
5. Instalar usando el script de conveniencia
Docker proporciona una secuencia de comandos conveniente en get.docker.com para instalar Docker en entornos de desarrollo de forma rápida y no interactiva.
Este ejemplo descarga el script de get.docker.com y lo ejecuta para instalar la última versión estable de Docker en Linux:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
6. Verificar instalación
Tras la instalación, Docker se ejecutará como un demonio. Para verificar que la ventana acoplable se está ejecutando, usamos la ventana acoplable systemctl status docker
comando:
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-10-08 05:35:57 UTC; 3min 50s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 146750 (dockerd)
Tasks: 8
Memory: 30.0M
CGroup: /system.slice/docker.service
└─146750 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378859538Z" level=warning msg="Your kernel does not support CPU r>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378869630Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378877385Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.379112713Z" level=info msg="Loading containers: start."
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.500736755Z" level=info msg="Default bridge (docker0) is assigned >
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.560469239Z" level=info msg="Loading containers: done."
El Active: active (running)
muestra que la ventana acoplable se inició con éxito.
Podemos ejecutar un hello-world
imagen para probar que la ventana acoplable funciona como se esperaba:
sudo docker run hello-world
Este comando descarga una imagen de prueba y la ejecuta en un contenedor. Cuando se ejecuta el contenedor, imprime un mensaje informativo y sale.
Obtuve este resultado, mostrando que funciona bien:
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:9ade9cc2e26189a19c2e8854b9c8f1e14829b51c55a630ee675a5a9540ef6ccf
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
7. Ejecutar el comando Docker sin Sudo
De forma predeterminada, el comando docker solo puede ejecutarlo el usuario raíz o un usuario del grupo docker, que se crea automáticamente durante el proceso de instalación de Docker. Si intenta ejecutar el comando docker sin el prefijo sudo o sin estar en el grupo docker, obtendrá un resultado como este:
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
Si desea evitar escribir sudo cada vez que ejecuta el comando docker, agregue su nombre de usuario al grupo docker:
sudo usermod -aG docker ${USER}
Para aplicar la nueva pertenencia al grupo, cierre sesión en el servidor y vuelva a iniciarla, o escriba lo siguiente:
su - ${USER}
Se le pedirá que ingrese su contraseña de usuario para continuar.
Confirme que su usuario ahora está agregado al grupo docker escribiendo:
id -nG
Veo esto, confirmando que ahora pertenezco al grupo docker
$ id -nG
ubuntu docker
Ahora puedo hacer docker:
Puedo ejecutar una imagen alpina
$ docker run --rm -it --name alpine --entrypoint /bin/sh alpine:3
Unable to find image 'alpine:3' locally
3: Pulling from library/alpine
a0d0a0d46f8b: Pull complete
Digest: sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a
Status: Downloaded newer image for alpine:3
/ #
¡Hemos instalado Docker con éxito en nuestro sistema!
8. Desinstalar Docker cuando ya no se necesita
Para borrar completamente el motor Docker del sistema, debemos desinstalar los paquetes Docker Engine, CLI y Containerd:
sudo apt-get purge docker-ce docker-ce-cli containerd.io -y
Las imágenes, los contenedores, los volúmenes o los archivos de configuración personalizados de su host no se eliminan automáticamente. Para eliminar todas las imágenes, contenedores y volúmenes:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
Debe eliminar cualquier archivo de configuración editado manualmente.
Conclusión
En esta guía, logramos instalar Docker en nuestro sistema Ubuntu 20.04.