En los últimos años, Docker ha ganado popularidad como aplicación de contenedores. Los contenedores proporcionan los beneficios de las máquinas virtuales sin la sobrecarga asociada.
Una máquina virtual permite a los usuarios iniciar un sistema operativo autónomo sobre otra máquina. Significa que los usuarios pueden ejecutar otra máquina Linux o Windows además de su sistema operativo actual. Sin embargo, es un proceso intensivo en recursos.
Cada máquina virtual inicia su propio kernel, binarios, bibliotecas y aplicaciones del sistema operativo en la parte superior de la máquina host. Los contenedores resuelven este problema al compartir el kernel de la máquina host. Se separa solo en el nivel de aplicación. Binarios y bibliotecas se separan solo cuando es necesario. Como resultado, los contenedores tienen tiempos de ejecución más rápidos y huellas más pequeñas. Docker es actualmente la tecnología de contenedores más popular.
Instalación en Ubuntu
Requisito previo
Docker tiene una versión comunitaria gratuita llamada Docker CE y una versión empresarial pagada llamada Docker EE. En este artículo, nos concentraremos en la versión comunitaria.
Docker CE requiere una versión de 64 bits de Ubuntu en cualquiera de los siguientes sabores:
- Zesty 17.04
- Xenial 16.04 (LTS)
- Confiable 14.04 (LTS)
Puede ejecutar muchos de los comandos como usuario no raíz. Sin embargo, necesitará acceso root (sudo) para algunos de los comandos.
Instalación de Docker
Hay múltiples formas de instalar Docker. En este tutorial, configuraremos el repositorio de Docker e instalaremos Docker CE desde el repositorio. Además, suponemos que tiene una máquina limpia sin ninguna versiones anteriores de Docker. Si tiene una versión anterior de Docker, desinstale la versión antes de comenzar.
Configuración de repositorio
1. Actualice su paquete APT para asegurarse de que su sistema operativo esté actualizado:
$ sudo apt-get actualización |
2. Instale los siguientes paquetes:
software-propiedades comunes |
3. Agregue la tecla GPG oficial
$ curl -fssl https: // descargar.estibador.com/linux/ubuntu/gpg | sudo apt-key agregar - |
Verifique que la huella digital clave sea 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88. Puede usar el siguiente comando:
$ sudo apt-key huella digital 0ebfcd88 |
PUB 4096R/0EBFCD88 2017-02-22 |
Huella digital clave = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 |
Lanzamiento de Uid Docker (CE DEB) |
Sub 4096R/F273FCD8 2017-02-22 |
4. Configure un repositorio estable utilizando el siguiente:
$ sudo add-apt-repository \ |
"Deb [Arch = AMD64] https: // Descargar.estibador.com/linux/ubuntu \ |
El "arco" define la arquitectura. Para x86_64 use "Arch = AMD64", para ARMHF use "Arch = ARMHF" y para S390x use "Arch = x390x".
Configuración de Docker CE
1. Actualice sus paquetes APT:
$ sudo apt-get actualización |
2. Instale el último Docker CE:
$ sudo apt-get instalación -y docker-ce |
3. El comando anterior debe instalar Docker e iniciar el demonio. Compruebe si el demonio se está ejecutando usando el siguiente comando:
$ sudo systemctl status docker
El resultado debe verse a continuación. El estado "activo (en ejecución)" significa que todo está bien.
● Docker.Servicio - Motor de contenedor de aplicaciones de Docker |
Cargado: cargado (/lib/systemd/system/Docker.servicio; activado; Vendor Preset: habilitado) |
Activo: Activo (Running) desde el Sol 2017-08-30 06:53:52 PDT; Hace 2 horas |
Documentos: https: // docs.estibador.comunicarse |
PID principal: 827 (Docker) |
Usando Docker
Para usar Docker, debe comprender 3 conceptos:
-
- Docker Hub: Docker Hub es el repositorio basado en la nube donde almacena todas las imágenes públicas de Docker. Puede crear un inicio de sesión en Docker Hub aquí: https: // hub.estibador.com/
- Imágenes de Docker: Docker Images son las impresiones azules de diferentes contenedores. Es una instantánea del contenedor.
- Container de Docker: ejecutando una imagen de Docker obtienes un contenedor. El contenedor es la máquina de trabajo que usará para sus tareas.
Empecemos a usar Docker.
Comandos de Docker
Puede ver todos los comandos Docker con los siguientes:
Puedes encontrar todos los comandos de Docker aquí.
Si desea averiguar sobre un comando específico, puede usar:
$ Docker Target Command -Help
donde el "comando objetivo" es el comando que desea investigar.
Descargar imágenes de Docker
Las imágenes de Docker se descargan desde Docker Hub. No necesita iniciar sesión para descargar y usar imágenes, pero necesita un inicio de sesión para cargar imágenes.
Descargue su primera imagen Docker usando el siguiente comando:
La salida debería verse así:
No se puede encontrar la imagen 'Hello-World: Último' localmente |
Último: Tirando de la biblioteca/hello-world |
b04784fba78d: Tire completo |
Digest: Sha256: F3B3B28A45160805BB16542C9531888519430E9E6D6FFC09D72261B0D26FF74F |
Estado: descarga de imagen más nueva para Hello-World: Último |
Este mensaje muestra que su instalación parece estar funcionando correctamente. |
En las líneas de arriba, Docker primero buscó la imagen "Hello-World" en su repositorio local. Cuando no pudo encontrar imagen ", la sacó del Docker Hub. Luego corrió el contenedor de hello-world.
El siguiente comando le mostrará imágenes disponibles en Docker Hub:
Estábamos buscando imágenes relacionadas con "nginx". La salida parcial se ve así:
Nombre Descripción Estrellas Oficiales automatizadas |
construcción oficial de nginx de nginx. 6737 [OK] |
JWIRED/NGINX-Proxy automatizado Nginx reverso proxy para Docker C ... 1099 [OK] |
contenedor richarvey/nginx-php-fpm que ejecuta nginx + php-fpm capaz ... 429 [OK] |
Alternativamente, puede ir a https: // hub.estibador.com/ y buscar imágenes. "Oficial" denota versiones que fueron verificadas por el equipo de Docker.
También puede usar el comando "Pull" para descargar imágenes:
Puede ver todas las imágenes de su repositorio local con el siguiente comando
La salida debería verse así:
ID de imagen de etiqueta de repositorio Tamaño creado |
Ubuntu Último CCC7A11D65B1 3 semanas hace 120 MB |
Nginx Último B8EFB18F159B hace 5 semanas 107MB |
Hello-World Último 1815C82652C0 hace 2 meses 1.84kb |
Con las imágenes de su repositorio local, puede iniciar un contenedor. Por ejemplo, puede iniciar su contenedor Nginx desde el repositorio anterior.
Corriente de contenedores
Supongamos que queremos crear un contenedor Ubuntu a partir de la imagen de Ubuntu disponible. Puede usar el siguiente comando:
La opción -IT le dice al comando ejecutar para ejecutar un shell interactivo. Verá un símbolo del sistema como este:
Esto significa que ha iniciado sesión como usuario raíz para el contenedor con la ID 6370A8B73050. Puede instalar todo lo que desee en este contenedor. Supongamos que desea instalar Python.
Puedes usar los comandos:
root@6370a8b73050:/# apt-get actualización |
Y
root@6370a8b73050:/# apt -get install -y python3.5 |
Una vez que las instalaciones tienen éxito, tiene un contenedor Ubuntu listo para Python.
Siempre puede verificar el estado del contenedor desde la línea de comandos de su host ($ significa la solicitud de host y root@6370a8b73050 indicador del contenedor):
Comando de imagen de ID de contenedor Nombres de puertos de estado creados |
6370A8B73050 Ubuntu "/bin/bash" hace 13 minutos hasta 12 minutos Cranky_Bassi |
Comando de imagen de ID de contenedor Nombres de puertos de estado creados |
6370A8B73050 Ubuntu "/bin/bash" hace 13 minutos hasta 13 minutos Cranky_Bassi |
6A16D462DD28 Ubuntu "/bin/bash" hace 16 minutos salió (0) hace 15 minutos juvenil_pasteur |
889D3A9328F2 nginx "nginx -g 'demonio ..." Hace 18 minutos salió (0) hace 17 minutos hardcore_ritchie |
En la salida anterior, el comando PS solo muestra el contenedor en ejecución, mientras que el comando PS con la opción "-a" muestra todos los contenedores.
Guardar contenedores como imágenes
Supongamos que desea guardar su contenedor Python como una imagen para reutilizarlo más tarde.
Primero salga del contenedor:
root@6370a8b73050:/# Salir |
Puede guardar el contenedor en su repositorio local utilizando el siguiente comando:
$ Docker Commit -M "Descripción de los cambios" -A "Nombre del autor" Repositorio de contenedores/nombre de imaginación
El repositorio es generalmente su nombre de usuario de Docker Hub. Para que pueda guardar su contenedor de Python así:
$ Docker Commit -M "Python3.5 contenedor "-a" zak h "6370a8b73050 zakh/python3.5 |
Si marca sus imágenes, tendrá una imagen de Python en su repositorio:
ID de imagen de etiqueta de repositorio Tamaño creado |
zakh/python3.Último 6DDF31466A89 de 5 listos hace 2 minutos 196 mb |
Ubuntu Último CCC7A11D65B1 3 semanas hace 120 MB |
Nginx Último B8EFB18F159B hace 5 semanas 107MB |
Hello-World Último 1815C82652C0 hace 2 meses 1.84kb |
Puede empujar esta imagen al centro de Docker utilizando los siguientes comandos:
Docker inicio de sesión -U nombre de usuario
Docker Push Username/ImageName
En el caso anterior, será:
Docker Iniciar sesión -U Zakh |
Docker Push Zakh/Python3.5 |
Una vez que empuja el contenedor al Docker Hub, otros pueden descargar la imagen a sus computadoras y usar el Python3.5 Entorno que configuró.
Limpiar
El siguiente comando eliminará los contenedores:
Docker RM ContainerID
El siguiente comando eliminará imágenes de su repositorio local:
Docker RMI ImageID
Ultimas palabras
La guía anterior le brinda un proceso paso a paso para usar Docker para simplificar su desarrollo. Puede crear sus configuraciones personales, guardarlas como imágenes y compartirlas con otros usuarios o reutilizar las imágenes usted mismo. Acelera todo el proceso de desarrollo.
Temas avanzados
- Puede usar DockerFile para crear imágenes a partir de archivos YAML escritos.
- Docker Swarm puede ayudarlo a orquestar y administrar una gran cantidad de nodos Docker.
Referencias:
- https: // documentos.estibador.com/Engine/Installation/Linux/Docker-CE/Ubuntu/
- https: // www.Digitalocean.com/Community/Tutorials/How-to-to-to-to-Use-docker-on-Ubuntu-16-04
- https: // Docker-curriculum.com/
- https: // www.Digitalocean.com/comunidad/tutorial/the-docker-ecosistem-an-introduction-to componentes comunes
- https: // www.avión.com/Docker/Posts/8 comprobado-world-world-ways-to-use-docker
- http: // www.zdnet.com/artículo/What-is-docker-and-why-is-it-so-darn-popular/
- https: // documentos.estibador.com/Enterprise/
- https: // documentos.estibador.com/motor/enjambre
- https: // documentos.estibador.com/motor/referencia/constructor/
- https: // documentos.estibador.com/motor/reference/Commandline/Docker/