Docker es una colección de productos de plataforma como servicio (PaaS) que utilizan la virtualización a nivel de sistema operativo para entregar software en paquetes llamados contenedores. Los contenedores están completamente aislados entre sí y son una unidad estándar de software que empaqueta el código y todas sus dependencias para que la aplicación se ejecute de forma rápida y confiable de un entorno informático a otro. Esto hace que los contenedores sean una gran herramienta para reproducir entornos de desarrollo, además de servir aplicaciones reproducibles en producción. En este tutorial rápido, comenzaremos con Docker.
Instale Docker para su sistema operativo.
Usaremos Docker para Windows y los documentos de Docker le muestran cómo instalar Docker Desktop en Windows.
Inicie Docker y comience el tutorial
Una vez completada la instalación, se le dará la opción de completar un tutorial, y eso es lo que debe hacer de inmediato.
Clonar un repositorio
Para lanzar un contenedor, primero necesitamos clonar un repositorio de Github. Si eres nuevo en Git, puedes consultar el tutorial de Git para principiantes para familiarizarte. El proyecto Getting Started es un repositorio de GitHub simple que contiene todo lo necesario para crear una imagen y ejecutarla como contenedor.
clon de git https://github.com/docker/getting-started
Construye la imagen
Una imagen de Docker es un sistema de archivos privado solo para su contenedor. Proporciona todos los archivos y software que necesita su contenedor.
cd para empezar docker build -t docker101tutorial
Ejecutar un contenedor
Inicie un contenedor basado en la imagen que creó en el paso anterior. La ejecución de un contenedor lanza su aplicación con recursos privados, aislados de forma segura del resto de su máquina.
docker run -d -p 80:80 --nombre docker-tutorial docker101tutorial
(Opcional) Registrarse con Docker Hub
Docker Hub es un recurso maravilloso para que encuentre literalmente cualquier software del mundo para ejecutar en sus contenedores.
¡Acceda a la biblioteca de imágenes de contenedores más grande del mundo!
Ver contenedor en el panel
En el panel de Docker, verá el contenedor en funcionamiento con algunas opciones. Podemos hacer clic en la opción Ver en el navegador para ver los frutos de nuestro trabajo.
Su navegador web debería iniciarse automáticamente y navegar a http: // localhost / tutorial, que es la aplicación en ejecución que acaba de iniciar en su máquina local usando Docker.
El tutorial incluido en la aplicación recién lanzada es excelente. Cubre todo lo que necesita saber y probablemente responderá muchas preguntas que pueda tener, especialmente si proviene de un entorno de flujo de trabajo de máquina virtual. Los siguientes temas están cubiertos:
- Ejecutando su primer contenedor
- Construcción de contenedores
- Aprender qué contenedores se están ejecutando y eliminarlos
- Usar volúmenes para conservar datos
- Usar montajes de enlace para apoyar el desarrollo
- Uso de redes de contenedores para admitir aplicaciones de varios contenedores
- Uso de Docker Compose para simplificar la definición y el uso compartido de aplicaciones
- Uso del almacenamiento en caché de la capa de imágenes para acelerar las compilaciones y reducir el tamaño de empujar / tirar
- Uso de compilaciones de varias etapas para separar las dependencias de tiempo de compilación y tiempo de ejecución
- Docker con código de Visual Studio
Referencia rápida de Docker
Felicitaciones, tiene su primer contenedor en funcionamiento. La siguiente es una buena referencia para usar rápidamente los comandos de Docker disponibles.
Cree una imagen a partir del Dockerfile en el directorio actual y etiquete la imagen
docker build -t myimage: 1.0.
Enumere todas las imágenes que se almacenan localmente con la imagen de la ventana acoplable de Docker Engine
ls
Eliminar una imagen de la imagen
acoplable del almacén de imágenes local rm alpine: 3.4
Ejecute un contenedor desde la imagen de la versión 3.9 de Alpine, nombre el contenedor en ejecución "web" y exponga el puerto 5000 externamente, asignado al puerto 80 dentro del contenedor.
Docker container run –name web -p 5000: 80 alpine: 3.9
Detener un contenedor en ejecución a través de SIGTERM
docker container stop web
Detener un contenedor en ejecución a través de SIGKILL
docker container kill web
Listar las redes
docker network ls
Enumere los contenedores en ejecución (agregue –todos para incluir los contenedores detenidos)
docker container ls –all
Eliminar todos los contenedores en ejecución y detenidos contenedor
docker rm -f $ (docker ps -aq)
Imprima las últimas 100 líneas de los registros de un
contenedor. Docker Container logs –tail 100 web
Extraer una imagen de una ventana
acoplable de registro extraer myimage: 1.0
Volver a etiquetar una imagen local con un nuevo nombre de la imagen y la etiqueta
tag ventana acoplable myimage: 1,0 myrepo / myimage: 2,0
Insertar una imagen en una ventana
acoplable de registro push myrepo / myimage: 2.0
Gestión de Docker
estibador constructor Administrar compilaciones build Construye una imagen a partir de un Dockerfile podar Eliminar caché de compilación config Administrar las configuraciones de Docker crear Crea una configuración a partir de un archivo o STDIN inspeccionar Muestra información detallada sobre una o más configuraciones ls List configs rm Elimina una o más configuraciones contenedor Gestionar contenedores adjuntar Adjuntar flujos de entrada, salida y error estándar local a un contenedor en ejecución commit Crea una nueva imagen a partir de los cambios de un contenedor cp Copia archivos / carpetas entre un contenedor y el sistema de archivos local crear Crea un nuevo contenedor diff Inspecciona cambios en archivos o directorios en el sistema de archivos de un contenedor exec Ejecuta un comando en un contenedor en ejecución exportar Exportar el sistema de archivos de un contenedor como un archivo tar inspeccionar Mostrar información detallada sobre uno o más contenedores kill Mata a uno o más contenedores en ejecución registros Obtener los registros de un contenedor ls Contenedores de lista pause Pausa todos los procesos dentro de uno o más contenedores puerto Lista de asignaciones de puertos o una asignación específica para el contenedor podar Quitar todos los recipientes parados renombrar Cambiar el nombre de un contenedor reiniciar Reiniciar uno o más contenedores rm Retire uno o más contenedores ejecutar Ejecutar un comando en un nuevo contenedor start Iniciar uno o más contenedores detenidos stats Muestra una transmisión en vivo de estadísticas de uso de recursos de contenedores detener Detener uno o más contenedores en ejecución arriba Muestra los procesos en ejecución de un contenedor anular la pausa Reanudar todos los procesos dentro de uno o más contenedores actualizar Actualizar la configuración de uno o más contenedores espere Bloquear hasta que uno o más contenedores se detengan, luego imprima sus códigos de salida contexto Gestionar contextos crear Crear nuevo contexto inspeccionar Muestra información detallada en uno o más contextos lista Lista de contextos disponibles rm Eliminar uno o más contextos mostrar Imprimir el contexto actual use Establecer el contexto predeterminado imagen Administrar imágenes build Construye una imagen a partir de un Dockerfile historia Muestra la historia de una imagen. importar Importar el contenido de un tarball para crear una imagen del sistema de archivos inspeccionar Muestra información detallada sobre una o más imágenes cargar Cargar una imagen de un archivo tar o STDIN ls Lista de imágenes podar Eliminar imágenes no utilizadas extraer Extraer una imagen o un repositorio de un registro empujar Empujar una imagen o un repositorio a un registro rm Eliminar una o más imágenes guardar Guarde una o más imágenes en un archivo tar (transmitido a STDOUT de forma predeterminada) etiqueta Crea una etiqueta TARGET_IMAGE que haga referencia a SOURCE_IMAGE red Administrar redes conectar Conectar un contenedor a una red crear Crear una red desconectar Desconectar un contenedor de una red inspeccionar Muestra información detallada en una o más redes ls Lista de redes podar Eliminar todas las redes no utilizadas rm Eliminar una o más redes nodo Gestionar nodos de Swarm degradar Descender uno o más nodos del administrador en el enjambre inspeccionar Muestra información detallada sobre uno o más nodos ls Lista de nodos en el enjambre promover Promocionar uno o más nodos a administrador en el enjambre ps Lista las tareas que se ejecutan en uno o más nodos, el valor predeterminado es el nodo actual rm Elimina uno o más nodos del enjambre actualizar Actualizar un nodo complemento Administrar complementos crear Crea un complemento a partir de rootfs y configuración. Directorio de datos de complementos debe contener el directorio config.json y rootfs. deshabilitar Deshabilitar un complemento habilitar Habilitar un complemento inspeccionar Muestra información detallada sobre uno o más complementos instalar Instalar un complemento Complementos de lista de ls empujar Empujar un complemento a un registro rm Eliminar uno o más complementos establecer Cambiar la configuración de un complemento actualizar Actualizar un complemento existente secreto Gestionar secretos de Docker crear Crea un secreto a partir de un archivo o STDIN como contenido inspeccionar Muestra información detallada sobre uno o más secretos ls Lista de secretos rm Eliminar uno o más secretos servicio Gestionar servicios crear Crear un nuevo servicio inspeccionar Muestra información detallada sobre uno o más servicios registros Obtener los registros de un servicio o tarea Servicios de lista de ls ps Enumere las tareas de uno o más servicios rm Eliminar uno o más servicios revertir Revertir los cambios en la configuración de un servicio escalar Escalar uno o varios servicios replicados actualizar Actualizar un servicio stack Administrar pilas de Docker implementar Implementar una nueva pila o actualizar una pila existente ls Lista de pilas ps Lista las tareas en la pila rm Elimina una o más pilas servicios Lista los servicios en la pila enjambre Administrar enjambre ca Visualice y gire la CA raíz init Inicializar un enjambre unirse Únase a un enjambre como nodo y / o administrador token de unión Administrar tokens de unión deja deja el enjambre desbloquear Desbloquear enjambre unlock-key Gestionar la llave de desbloqueo actualizar Actualizar el enjambre sistema Administrar Docker df Muestra el uso del disco de la ventana acoplable eventos Obtenga eventos en tiempo real del servidor info Muestra información de todo el sistema podar Eliminar datos no utilizados confianza Gestionar la confianza en las imágenes de Docker clave Administrar claves para firmar imágenes de Docker generar Generar y cargar un par de claves de firma cargar Cargar un archivo de clave privada para firmar firmante Gestionar entidades que pueden firmar imágenes de Docker agregar Agregar un firmante eliminar Eliminar un firmante volumen Gestionar volúmenes crear Crea un volumen inspeccionar Muestra información detallada sobre uno o más volúmenes ls Lista de volúmenes podar Eliminar todos los volúmenes locales no utilizados rm Eliminar uno o más volúmenes Comandos: adjuntar Adjuntar flujos de entrada, salida y error estándar local a un contenedor en ejecución build Construye una imagen a partir de un Dockerfile commit Crea una nueva imagen a partir de los cambios de un contenedor cp Copia archivos / carpetas entre un contenedor y el sistema de archivos local crear Crea un nuevo contenedor diff Inspecciona cambios en archivos o directorios en el sistema de archivos de un contenedor eventos Obtenga eventos en tiempo real del servidor exec Ejecuta un comando en un contenedor en ejecución exportar Exportar el sistema de archivos de un contenedor como un archivo tar historia Muestra la historia de una imagen. imágenes Lista de imágenes importar Importar el contenido de un tarball para crear una imagen del sistema de archivos info Muestra información de todo el sistema inspeccionar Devuelve información de bajo nivel sobre objetos Docker kill Mata a uno o más contenedores en ejecución cargar Cargar una imagen de un archivo tar o STDIN iniciar sesión Iniciar sesión en un registro de Docker cerrar sesión Cerrar sesión en un registro de Docker registros Obtener los registros de un contenedor pause Pausa todos los procesos dentro de uno o más contenedores puerto Lista de asignaciones de puertos o una asignación específica para el contenedor ps List contenedores extraer Extraer una imagen o un repositorio de un registro empujar Empujar una imagen o un repositorio a un registro renombrar Cambiar el nombre de un contenedor reiniciar Reiniciar uno o más contenedores rm Retire uno o más contenedores rmi Eliminar una o más imágenes ejecutar Ejecutar un comando en un nuevo contenedor guardar Guarde una o más imágenes en un archivo tar (transmitido a STDOUT de forma predeterminada) buscar Busque imágenes en Docker Hub start Iniciar uno o más contenedores detenidos stats Muestra una transmisión en vivo de estadísticas de uso de recursos de contenedores detener Detener uno o más contenedores en ejecución etiqueta Crea una etiqueta TARGET_IMAGE que haga referencia a SOURCE_IMAGE arriba Muestra los procesos en ejecución de un contenedor anular la pausa Reanudar todos los procesos dentro de uno o más contenedores actualizar Actualizar la configuración de uno o más contenedores versión Muestra la información de la versión de Docker espere Bloquear hasta que uno o más contenedores se detengan, luego imprima sus códigos de salida
Resumen del tutorial rápido de Docker
Esto debería darle una comprensión básica de cómo funciona Docker con una comprensión de los conceptos clave de Docker. En su nivel más básico, Docker es simplemente imágenes y contenedores. Aprender a aprovechar estas tecnologías es un gran beneficio para los desarrolladores de software, las pequeñas empresas y las empresas de Fortune 500 por igual.
0 Comentarios
Dejanos tu comentario para seguir mejorando!