Instalar y usar Docker en Ubuntu
Docker es una aplicación utilizada para administrar procesos de aplicación en contenedores. Los contenedores ejecutan aplicaciones en un proceso aislado de recursos.
Al usar Docker, puedes compilar, probar e implementar aplicaciones que pueden ejecutarse en cualquier lugar como contenedores portátiles y autosuficientes. En este tutorial, aprenderás cómo instalar y usar Docker en Ubuntu 18.04.
Prerrequisitos
Antes de comenzar a instalar Docker en Ubuntu 18.04. Debes tener las credenciales de la cuenta de usuario root de tu sistema.
Instalar Docker en Ubuntu
Aquí instalaremos Docker en Ubuntu desde el último repositorio de Docker. Debes seguir los pasos a continuación para instalar Docker en Ubuntu.
Tienes que actualizar el índice del administrador de paquetes apt y actualizar el sistema escribiendo el siguiente comando:
1 |
sudo apt update && sudo apt upgrade |
Ejecuta el siguiente comando para instalar las dependencias necesarias para habilitar el repositorio de Docker:
1 |
sudo apt install apt-transport-https ca-certificates curl software-properties-common |
Ahora debes importar la clave GPG para el repositorio utilizando el siguiente comando curl:
1 |
sudo apt install apt-transport-https ca-certificates curl software-properties-common |
Finalmente, debes agregar el repositorio a tu sistema escribiendo lo siguiente en la terminal:
1 |
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |
Ahora actualiza el índice del administrador de paquetes nuevamente escribiendo el siguiente comando:
1 |
sudo apt update |
Debes instalar Docker Community Version escribiendo el siguiente comando:
1 |
sudo apt install docker-ce |
Tienes que confirmar la instalación y verificar la versión de Docker con el siguiente comando:
1 |
docker -v |
La salida debe verse así:
1 |
Docker version 18.09.0-ce, build 9ee9f40 |
Puedes verificar el estado del servicio Docker con el siguiente comando:
1 |
sudo systemctl status docker |
La salida debe verse así:
1 2 3 4 5 6 7 |
docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-13-19 20:22:00 PDT; 6min ago Docs: https://docs.docker.com Main PID: 10647 (dockerd) Tasks: 21 CGroup: /system.slice/docker.service |
Ejecutando el comando Docker sin sudo
De forma predeterminada, el comando Docker solo puede ejecutarse por el usuario sudo o miembro del grupo docker que se creó al instalar Docker. Si deseas ejecutar el comando docker sin sudo, debes agregar el usuario al grupo docker.
Si ya has iniciado sesión, debes agregar el usuario al grupo docker ejecutando el siguiente comando:
1 |
sudo usermod -aG docker $USER |
Para aplicar la membresía del nuevo usuario, debes ejecutar el siguiente comando o puede cerrar sesión e iniciar sesión nuevamente:
1 |
su - $USER |
Puedes confirmar que ya has ha agregado al grupo Docker el usuario, ejecutando el siguiente comando:
1 |
id -nG |
La salida debe ser esta:
1 |
linux4one sudo docker |
Cómo usar el comando Docker
La siguiente es la sintaxis básica para el comando docker:
1 |
docker [option] [subcommand] [arguments] |
Puedes enumerar todos los subcomandos disponibles escribiendo el siguiente comando:
1 |
docker |
Si deseas obtener ayuda para cualquier subcomando docker, lo puedes hacer con el siguiente comando:
1 |
docker docker-subcommand --help |
Trabajando con imágenes Docker
Los contenedores Docker se crean a partir de imágenes de Docker y estas imágenes se extraen de Docker Hub, que es un registro administrado por Docker Company. En Docker Hub, cualquiera puede alojar sus imágenes. Debido a esto, la mayoría de las imágenes de la aplicación y las distribuciones de Linux ya están disponibles en Docker Hub.
Buscar imágenes de Docker
Puedes buscar una imagen en Docker Hub utilizando el comando docker con el subcomando search.
Si deseas buscar una imagen de Ubuntu lo puedes hacer escribiendo lo siguiente en la línea de comandos:
1 |
docker search ubuntu |
El resultado debe ser similar a:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating sys… 7917 [OK] dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 193 [OK] rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 156 [OK] ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with ansible 93 [OK] ubuntu-upstart Upstart is an event-based replacement for th… 87 [OK] neurodebian NeuroDebian provides neuroscience research s… 50 [OK] ubuntu-debootstrap debootstrap --variant=minbase --components=m… 38 [OK] 1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 36 [OK] nuagebec/ubuntu Simple always updated Ubuntu docker images w… 23 [OK] tutum/ubuntu Simple Ubuntu docker images with SSH access 18 i386/ubuntu Ubuntu is a Debian-based Linux operating sys… 13 ppc64le/ubuntu Ubuntu is a Debian-based Linux operating sys… 12 1and1internet/ubuntu-16-apache-php-7.0 ubuntu-16-apache-php-7.0 10 [OK] 1and1internet/ubuntu-16-nginx-php-phpmyadmin-mariadb-10 ubuntu-16-nginx-php-phpmyadmin-mariadb-10 6 [OK] eclipse/ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, … 6 [OK] codenvy/ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, … 4 [OK] darksheer/ubuntu Base Ubuntu Image -- Updated hourly 4 [OK] 1and1internet/ubuntu-16-apache ubuntu-16-apache 3 [OK] 1and1internet/ubuntu-16-nginx-php-5.6-wordpress-4 ubuntu-16-nginx-php-5.6-wordpress-4 3 [OK] 1and1internet/ubuntu-16-sshd ubuntu-16-sshd 1 [OK] pivotaldata/ubuntu A quick freshening-up of the base Ubuntu doc… 1 1and1internet/ubuntu-16-healthcheck ubuntu-16-healthcheck 0 [OK] pivotaldata/ubuntu-gpdb-dev Ubuntu images for GPDB development 0 smartentry/ubuntu ubuntu with smartentry 0 [OK] ossobv/ubuntu ... |
Puedes ver que todas las imágenes vienen con el número de versión aún si el número de versión no se especifica en ese momento. La salida de Docker elige la última versión disponible.
Descargar imágenes de Docker
Puedes descargar la imagen de Docker utilizando el subcomando pull. Para descargar la imagen de Ubuntu puedes usar este comando:
1 |
docker pull ubuntu |
La salida debe ser similar a esto:
1 2 3 4 5 6 7 8 9 |
Using default tag: latest latest: Pulling from library/ubuntu 6b98dfc16071: Pull complete 4001a1209541: Pull complete 6319fc68c576: Pull complete b24603670dc3: Pull complete 97f170c87c6f: Pull complete Digest: sha256:5f4bdc3467537cbbe563e80db2c3ec95d548a9145d64453b06939c4592d67b6d Status: Downloaded newer image for ubuntu:latest |
Listar imágenes descargadas de Docker
Puedes listar las imágenes descargadas de Docker con el siguiente comando:
1 |
docker images |
Eliminar imágenes de Docker
Si deseas eliminar la imagen de Docker descargada, puedes hacerlo utilizando el siguiente comando. El siguiente comando eliminará la imagen de Ubuntu de tu sistema.
1 |
docker image rm ubuntu |
Trabajando con contenedores Docker
El contenedor Docker es una instancia de imágenes de Docker. También puedes interactuar con el contenedor. Los contenedores son las máquinas virtuales amigables con los recursos. Al usar el comando docker container podemos administrar operaciones en un contenedor.
Iniciar un contenedor
Al usar el subcomando container run puedes ejecutar un contenedor que es una instancia de la imagen. Si la imagen del contenedor no está disponible, primero se descargará y luego se iniciará el contenedor.
Para iniciar el contenedor de Ubuntu, debes ejecutar el siguiente comando:
1 |
docker container run ubuntu |
En el comando anterior, no proporcionamos ningún comando para ejecutar después de iniciar el contenedor de Ubuntu. Por lo tanto, se iniciará, luego ejecutará el comando vacío y luego saldrá.
Para interactuar con el contenedor de Ubuntu después de iniciar, debes usar el interruptor –it. Para hacerlo, ejecuta el siguiente comando:
1 |
docker container run -it ubuntu /bin/bash |
La salida debe verse así:
1 |
[root@748fh3304412 /]# |
Como puedes ver arriba, la terminal cambió. Ahora puedes ejecutar cualquier comando e interactuar directamente con el contenedor de Ubuntu.
Lista de contenedores activos de Docker
Puedes enumerar todos los contenedores Docker activos con el siguiente comando. Enumerará todos los contenedores activos; de lo contrario, la salida estará vacía:
1 |
docker container ls |
Si deseas enumerar todos los tipos de contenedores activos e inactivos, debes hacerlo con este comando:
1 |
docker container ls -a |
Remover el contenedor Docker
Si deseas remover la imagen de Docker por alguna razón, puedes usar el siguiente comando:
1 |
docker container rm 748fh3304412 |
En el comando anterior 748fh3304412 es un Container ID.
Conclusión
Has aprendido con éxito cómo instalar y usar Docker en Ubuntu 18.04. Ahora ya tienes los conceptos básicos para usarlo en Ubuntu.