Cómo instalar Docker en Ubuntu 18.04

Docker es una solución de virtualización liviana a nivel de sistema operativo que le permite ejecutar múltiples contenedores simultáneamente en un solo host o en una flota de servidores con la ayuda de herramientas de orquestación. Los contenedores de Docker se aíslan entre sí mediante Kernel Grupos de control y Espacios de nombres.

En esta publicación del tutorial, veremos las diferentes formas de instalar Docker en Ubuntu 18.04 LTS.

Docker proporciona un modelo de implementación basado en imágenes que facilita empaquetar una aplicación con todas sus dependencias y compartirla en múltiples entornos. Docker también automatiza la implementación de aplicaciones dentro de este entorno de contenedor. Antes de analizar la instalación y el uso de Docker, definamos algunos términos que son comunes en el mundo de los contenedores de Docker.

  • Motor Docker: Este es un demonio de servidor que administra todos los objetos de Docker: redes, contenedores, almacenamiento, imágenes, etc. Docker Engine también proporciona la API REST utilizada por las aplicaciones para comunicarse con el demonio.
  • Imagen de Docker – Una imagen es una plantilla de solo lectura que se utiliza para crear contenedores en el motor de la ventana acoplable.
  • Envase – Esta es una instancia en ejecución basada en la imagen de Docker. Cada contenedor tiene una identificación única
  • Registro – El registro de Docker es el almacenamiento de imágenes ya creadas. Puede ser un repositorio restringido (privado) o un repositorio público.

Instalación de Docker en Ubuntu

Hay tres formas de instalar Docker en Ubuntu 18.04, a saber:

  1. Instalación de Docker desde el repositorio de apt
  2. Instalación de Docker desde el paquete Debian compilado
  3. Instalación de Docker Edge mediante un script de automatización

1) Instalación de Docker desde el repositorio de apt

Antes de agregar el repositorio de Docker, asegúrese de que no haya paquetes antiguos de Docker, a menos que desee realizar una actualización en lugar de una instalación nueva.

$ sudo apt-get remove docker docker-engine docker.io

Tenga en cuenta que el paquete Docker CE ahora se llama docker-ce.

Instalar paquetes de dependencia

Para permitir que apt use un repositorio sobre https, instale los siguientes paquetes:

$ sudo apt-get install  software-properties-common ca-certificates apt-transport-https

Una vez que la instalación sea exitosa, proceda a agregar el repositorio docker apt.

Importar clave oficial de Docker gpg

Para instalar paquetes firmados por Docker, debe importar la clave gpg:

$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK

Agregar repositorio estable de docker-ce

Ahora agreguemos el repositorio de Docker usando el comando add-apt-repository.

$  sudo add-apt-repository 
 "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
 $(lsb_release -cs) 
 stable"

Hit:1 https://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 https://repos.influxdata.com/ubuntu bionic InRelease 
Get:2 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB] 
Hit:4 https://mirrors.digitalocean.com/ubuntu bionic InRelease 
Get:5 https://mirrors.digitalocean.com/ubuntu bionic-updates InRelease [83.2 kB] 
Hit:6 https://mirror.zol.co.zw/mariadb/repo/10.3/ubuntu bionic InRelease 
Get:7 https://mirrors.digitalocean.com/ubuntu bionic-backports InRelease [74.6 kB] 
Hit:8 https://packagecloud.io/grafana/stable/debian stretch InRelease 
Fetched 222 kB in 1s (149 kB/s)
Reading package lists... Done

El comando anterior agregará una línea a /etc/apt/sources.list

deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

Aquí es desde donde se descargarán los paquetes de Docker.

Actualice el índice de apt e instale la ventana acoplable

Una vez que se ha agregado el repositorio al sistema

$ sudo apt-get update
$ sudo apt-get install docker-ce

Iniciar y habilitar el servicio para que se inicie en el arranque

Con la instalación exitosa, debería poder iniciar el servicio Docker usando el comando systemctl.

$ sudo systemctl start docker
$ sudo systemctl enable docker
$ sudo systemctl is-enabled docker
enabled

Verifique el estado del servicio usando:

$ 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 Tue 2018-06-05 19:37:30 UTC; 39min ago
 Docs: https://docs.docker.com
 Main PID: 4235 (dockerd)
 Tasks: 18
 CGroup: /system.slice/docker.service
 ├─4235 /usr/bin/dockerd -H fd://
 └─4284 docker-containerd --config /var/run/docker/containerd/containerd.toml

Jun 05 19:37:30 dokcer.linoxide.com  dockerd[4235]: time="2018-06-05T19:37:30.458294292Z" level=warning msg="Your kernel does not support swap memory limit"
Jun 05 19:37:30 docker.linoxide.com dockerd[4235]: time="2018-06-05T19:37:30.458346988Z" level=warning msg="Your kernel does not support cgroup rt period"
Jun 05 19:37:30 docker.linoxide.com dockerd[4235]: time="2018-06-05T19:37:30.458358517Z"

Ejecutar Docker como usuario no root

Si desea utilizar Docker como un usuario no root, ahora debería considerar agregar su usuario al grupo “docker” con algo como:

$ sudo  getent group docker
docker:x:998:
$ sudo usermod -aG docker <username>

P.ej

$ sudo usermod -aG docker jmutai

Para un cambio de grupo inmediato sin tener que cerrar la sesión, ejecute:

$ sudo gpasswd -a username groupname

P.ej

$ sudo gpasswd -a jmutai docker

2) Instalación del paquete Docker .deb

Un método de instalación alternativo es descargar la última versión de Docker para Ubuntu 18.04. El problema con este método es que debe descargar un nuevo archivo cada vez que desee actualizar Docker CE.

Dirigirse a https://download.docker.com/linux/ubuntu/dists/, elija su versión de Ubuntu y busque pool / stable / luego elija la arquitectura de su sistema operativo. Debe descargar el archivo .deb para la versión de Docker que desea instalar.

Instale el paquete ejecutando el comando:

$ sudo dpkg -i /path/to/package.deb

3) Instalación de la versión perimetral de Docker mediante un script

Docker proporciona scripts de conveniencia en get.docker.com para instalar versiones de borde de Docker. Esta versión no se recomienda para fines de producción, pero se puede utilizar para pruebas y fines generales. Tenga en cuenta que los scripts requieren root o sudo privilegios para ejecutar:

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

El script hará todo por usted, no se necesita trabajo manual. Solo que si desea usar Docker como un usuario no root, ahora debería considerar agregar su usuario al grupo “docker” con algo como:

$ sudo usermod -aG docker your-user

Verifique la versión de docker instalada usando el comando de versión de docker:

$ sudo docker version
Client:
Version: 18.05.0-ce
API version: 1.37
Go version: go1.9.5
Git commit: f150324
Built: Wed May 9 22:16:13 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm

Server:
Engine:
Version: 18.05.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: f150324
Built: Wed May 9 22:14:23 2018
OS/Arch: linux/amd64
Experimental: false

Usando Docker en Ubuntu

Ahora que tenemos todo lo que necesitamos listo, consideremos algunas operaciones de la ventana acoplable para ayudarlo a comenzar. Descargaremos dos imágenes de la ventana acoplable y luego crearemos contenedores a partir de ellas. Luego, más tarde, destruya estos contenedores.

De forma predeterminada, las imágenes de la ventana acoplable se descargan del repositorio público de la ventana acoplable, no se necesita autenticación para extraer imágenes compartidas públicamente. Descarguemos la imagen de Ubuntu 18.04 y CentOS 7. El comando docker pull se usa para esto:

$ sudo docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
a48c500ed24e: Pull complete 
1e1de00ff7e1: Pull complete 
0330ca45a200: Pull complete 
471db38bcfbf: Pull complete 
0b4aba487617: Pull complete 
Digest: sha256:c8c275751219dadad8fa56b3ac41ca6cb22219ff117ca98fe82b42f24e1ba64e
Status: Downloaded newer image for ubuntu:18.04

$ sudo docker pull centos:latest
latest: Pulling from library/centos
7dc0dca2b151: Pull complete 
Digest: sha256:b67d21dfe609ddacf404589e04631d90a342921e81c40aeaf3391f6717fa5322
Status: Downloaded newer image for centos:latest

Consultar imágenes disponibles:

$ sudo  docker images
REPOSITORY     TAG     IMAGE ID C     REATED        SIZE
centos         latest  49f7960eb7e4   22 hours ago  200MB
ubuntu         18.04   452a96d81c30   5 weeks ago   79.6MB

Crea un contenedor a partir de la imagen de Docker

El comando docker run se usa para ejecutar el contenedor docker. Un contenedor es una instancia en ejecución de una imagen de Docker. También es posible crear una imagen de ventana acoplable personalizada usando Dockerfile. Consulte el enlace para saber cómo escribir su propio Dockerfile.

El example a continuación creará un contenedor llamado ubuntu18.04 de la imagen de Ubuntu 18.04 descargada anteriormente.

$ docker run -it --rm --name ubuntu-cont ubuntu:18.04 /bin/bash
root@f4da5e088c9c:/#

Las opciones utilizadas son:

  • -eso : Obtener una sesión de shell interactiva
  • –rm : Esto indica a Docker que elimine el contenedor al salir.
  • –nombre: Se utiliza para especificar el nombre del contenedor. El nombre dado es ubuntu-cont
  • ubuntu: 18.04: Este es el nombre de la imagen de la ventana acoplable desde la que estamos creando un contenedor.
  • /compartimiento/bash : Comando para ejecutar en el contenedor

Si sale del caparazón del contenedor usando Salida comando o ctrl + d

Lea también:

  • 2 formas de SSH en un contenedor Docker en ejecución
  • Cómo usar Docker sin sudo en Ubuntu
  • Una lista completa de comandos de Docker en la hoja de trucos

Con la ejecución del motor Docker, puede comenzar a jugar con Docker para comprender sus entresijos. Tenemos buenas guías sobre el linóxido para ayudarlo a comenzar. Documentación de Docker también es un buen lugar para comenzar.