Red de conocimiento informático - Conocimiento del nombre de dominio - Qué pueden hacer los desarrolladores con Docker

Qué pueden hacer los desarrolladores con Docker

Nota del editor: Es posible que algunos desarrolladores aún no comprendan lo útil que es Docker para ellos, por lo que este artículo traduce los casos de uso personales de Docker para presentar los casos de uso de Docker en el proceso de desarrollo de los desarrolladores comunes.

Docker ha ganado mucha atención hoy en día y a muchas personas les resulta difícil estar a la altura de su reputación porque todavía no entienden cuál es la relación entre Docker y los desarrolladores comunes. Muchos desarrolladores sienten que Docker está lejos de ellos. Docker es una herramienta en el entorno de producción y no tiene nada que ver con ellos. También me llevó mucho tiempo descubrir cómo utilizar Docker en mi propio desarrollo como desarrollador normal. Francamente, todavía estoy en el proceso de aprendizaje.

Este artículo proporciona una lista de casos de uso de Docker. Espero que pueda ayudarlo a comprender mejor Docker y estimular su pensamiento. Este artículo solo describe la aplicación diaria de Docker por parte de desarrolladores comunes y no proporciona una solución completa.

Antes de presentar los casos de uso, espero que puedas recordar esta frase: "Docker es un contenedor de aplicaciones portátil". No es necesario que sepa qué quiere decir Docker con "contenedor portátil", pero debe saber que Docker puede aportar enormes mejoras de eficiencia en la vida diaria.

Cuando necesita ejecutar su propia aplicación en un contenedor (por supuesto, puede ser cualquier aplicación), Docker proporciona una imagen básica del sistema como sistema básico para ejecutar la aplicación. En otras palabras, cualquier aplicación en un sistema Linux puede ejecutarse en Docker.

¿Puedo ejecutar una base de datos en Docker? seguro.

¿Puedo ejecutar un servidor web Node.js dentro de Docker? seguro.

¿Puedo ejecutar un servidor API dentro de Docker? seguro.

A Docker no le importa qué es o qué hace su aplicación. Docker proporciona un conjunto de métodos de empaquetado, transmisión e implementación de aplicaciones para que pueda ejecutar mejor cualquier aplicación dentro de un contenedor.

Los siguientes ejemplos los uso a menudo. Por supuesto, si tienes mejores casos, puedes compartirlos conmigo.

Pruebe software nuevo

Para los desarrolladores, es necesario probar todo tipo de nuevas tecnologías que nacen todos los días, pero es poco probable que los desarrolladores puedan hacerlo por ellas una por una. Configure el entorno y pruébelo. El tiempo es oro y gracias a Docker, nos es posible configurar el entorno con uno o varios comandos. Docker tiene un método infalible para obtener software. El fondo de Docker obtendrá automáticamente la imagen del entorno y ejecutará el entorno.

Docker no solo se utiliza para la construcción de entornos de nueva tecnología. Si desea ejecutar rápidamente una base de datos MySQL o una cola de mensajes de Redis en su computadora portátil, puede hacerlo muy fácilmente usando Docker. Por ejemplo, Docker solo necesita un comando para ejecutar la base de datos MySQL: docker run -d -p 3306:3306 tutum/mysql.

Nota del traductor: Aunque la base de datos MySQL se puede instalar muy rápidamente mediante comandos, cuando se utiliza la última tecnología o tecnología muy compleja, usar Docker será una muy buena opción, como Gitlab. Aproximadamente un día para configurar la plataforma Gitlab, pero Docker solo requiere un comando.

Realizar demostraciones

Ahora, a menudo necesito hacer una o dos demostraciones a clientes u otras personas los fines de semana utilizando los resultados que he desarrollado. El proceso de configuración de un entorno de demostración es muy engorroso. Ahora encuentro que Docker se ha convertido en la forma más lógica para demostrar estas herramientas. Al mismo tiempo, para los clientes, puedo proporcionarles directamente la imagen de Docker sin tener que realizar ningún trabajo de configuración del entorno. El efecto del trabajo será exactamente el mismo que vi en su demostración, y no tengo que preocuparme. sobre la configuración de su entorno. Esto hará que nuestros productos no funcionen.

Evite "Se puede ejecutar en mi máquina"

Esta situación se menciona tanto en la implementación empresarial de Docker presentada en el artículo anterior como en el caso de uso personal de Docker en este artículo. Debido a que la configuración del entorno es diferente, muchas personas encontrarán esta situación durante el desarrollo, e incluso el software desarrollado no podrá ejecutarse en la máquina del evaluador. Pero ese no es el punto. El punto es que si tuviéramos un entorno de desarrollo estándar confiable y distribuible, nuestro desarrollo no sería tan doloroso como lo es ahora. Docker puede resolver este problema. La imagen de Docker no dejará de ejecutarse debido a cambios en el entorno, ni tendrá resultados de ejecución diferentes en diferentes computadoras. Puede enviar la imagen de Docker que contiene la aplicación al evaluador, de modo que "se pueda ejecutar en mi máquina" ya no suceda, lo que reduce en gran medida el costo de tiempo causado por los desarrolladores y evaluadores que verifican la configuración del entorno de la máquina de cada uno.

Otro lugar donde Docker puede resultar útil es en las clases de formación. Además del aislamiento de los contenedores Docker, la ventaja de Docker está en la construcción del entorno. Cada principiante en la clase de capacitación tiene que dedicar mucho tiempo a configurar el entorno, pero si se aplica Docker aquí, solo necesitamos distribuir la imagen del entorno operativo estándar y luego podemos comenzar la clase. Usar Docker es tan fácil como usar una máquina virtual, pero Docker es más conveniente y liviano. Al mismo tiempo, también podemos decirles a los estudiantes: "Durante el entrenamiento, también aprenderemos la tecnología más popular en este momento: Docker. Con este resultado beneficioso para todos, ¿por qué no hacerlo?".

Aprender scripts de Linux

Por supuesto, esta razón puede parecer extraña, pero de hecho es una buena oportunidad para las personas que no están familiarizadas con el sistema operativo Linux y los scripts de Shell. Aunque este artículo no trata sobre Linux, la importancia de Linux sigue siendo evidente. Si está utilizando Windows, déjeme darle una sugerencia: alquile un host en la nube de un proveedor de alojamiento en la nube: recomiendo usar un host en la nube del sistema CoreOS. Aunque esto no lo convertirá en un profesional de operación y mantenimiento de Linux, le permitirá aprender rápidamente los conceptos básicos de Linux, enamorarse de las operaciones de la línea de comandos y poco a poco comenzar a familiarizarse y apreciar Linux.

Mejor utilización de los recursos

La granularidad de una máquina virtual es una "máquina virtual", mientras que la granularidad de Docker es una "aplicación restringida". En comparación, Docker ocupa. menos memoria y es más ligero.

Para mí, esta es una ventaja de Docker: debido a que a menudo ejecuto varias aplicaciones Docker en mi computadora, usar Docker es más simple, más conveniente, más granular y sustentable que usar una máquina virtual. .

Personalizado para Microservicios

Si has estado prestando atención a las novedades tecnológicas, entonces deberías haber oído hablar del concepto de "Microservicios". Docker se puede combinar bien con microservicios. Conceptualmente, un microservicio es un contenedor que proporciona parte de un conjunto completo de funcionalidades de aplicaciones, y Docker puede servir como un contenedor de microservicios durante el desarrollo, las pruebas y la implementación. Incluso los entornos de producción pueden implementar microservicios en Docker.

Portabilidad entre proveedores de servicios en la nube

La mayoría de los proveedores de alojamiento en la nube ya son totalmente compatibles con Docker. Para los desarrolladores, esto significa que pueden cambiar fácilmente de proveedor de servicios en la nube. Por supuesto, también pueden mover fácilmente su entorno de desarrollo local a un host en la nube. No es necesario configurar el entorno en ejecución localmente y configurarlo en el host en la nube. configure el entorno de ejecución una vez. La implementación integral de Docker (Docker aquí y Docker allá) como entorno operativo estándar puede reducir en gran medida la carga de trabajo y generar errores cuando la aplicación está en línea.