¿Qué es docker, por qué el front-end debería aprender docker y cómo crear el contenedor docker más simple?

inserte la descripción de la imagen aquí

Prólogo: El propósito de escribir este artículo es participar recientemente en la implementación automatizada de front-end y prepararse para escribir un blog para registrarlo. Se utiliza la tecnología de contenedores docker, así que antes de escribir un blog sobre implementación automatizada, primero registre la descarga e instalación de docker y la creación de espejos y contenedores.

Qué es docker y por qué el front-end debería aprender docker

Supongamos que ahora que ha terminado de desarrollar un proyecto, en este momento debe entregar el proyecto al evaluador para que lo pruebe. Después de que la prueba obtenga su código, ejecute el proyecto y descubra que el proyecto no puede ejecutarse. Entonces te digo que hay un problema con el proyecto y no se puede ejecutar, y te dejo solucionarlo. Pero obviamente es posible en su propia computadora, por lo que fingió estar sorprendido y dijo ofendido que no hay ningún problema en su propia computadora. Luego tomó mucho tiempo probar y reinstalar el entorno, e incluso trabajaron horas extras para lograrlo, y finalmente pusieron en marcha el proyecto.
Después de la prueba, el proyecto se entregó a la operación y mantenimiento para conectarse. Después de conectarse, se encontró con el mismo problema y luego usó el autocultivo de un actor para decir que es normal en su computadora. .

Escribiste el código, y se requiere que seas un actor. De hecho, a veces es realmente agotador hhhh

Por lo tanto, en realidad es muy necesario mantener la consistencia del entorno durante el desarrollo y cuando se conecta en línea, lo que puede evitar que ocurra una cantidad considerable de problemas.
Entonces, ¿qué tiene esto que ver con la ventana acoplable?

Echemos un vistazo a la definición de docker en Baidu. Docker es un motor contenedor de aplicaciones de código abierto que permite a los desarrolladores empaquetar sus aplicaciones y dependencias en una imagen portátil y luego publicarla en cualquier sistema operativo Linux o Windows popular. La virtualización también puede implementarse en la máquina del sistema. Los contenedores usan completamente un mecanismo de caja de arena y no habrá interfaces entre ellos.

Desde el punto de vista de la definición, parece un poco abstracto. De hecho, en términos simples, Docker es un contenedor. Los desarrolladores pueden empaquetar y publicar su propio código de proyecto y entorno de proyecto en una imagen reflejada. Esta imagen reflejada es portátil. Es decir, empaqueto el proyecto local y el entorno operativo en un Después de que se libera un espejo. Puede extraer esta imagen en otra computadora o sistema operativo. Después de extraer la imagen, utilícela para crear un contenedor en ejecución. Este contenedor en ejecución se puede considerar como un servidor en miniatura. Y el mecanismo de sandbox puede proporcionar un entorno operativo completamente independiente para el contenedor docker, y no se afectarán entre sí, por lo que puedo crear varios contenedores y cada contenedor puede implementar un proyecto propio.

Entonces, ¿cuál es el escenario de aplicar docker al desarrollo? Cuando quiero probar, puedo crear una imagen acoplable entre el proyecto y el entorno de desarrollo local, y la prueba extraerá mi imagen a mi computadora y creará un contenedor acoplable para ejecutar. Entonces el entorno operativo será consistente con el entorno de desarrollo, evitando los problemas anteriores. Lo mismo ocurre con ir en línea.

Por supuesto, algunos estudiantes pueden decir después de leerlo, ¿no tenemos máquinas virtuales y VMware no despega directamente de Wuhu? Construyamos primero un entorno de máquina virtual y luego clonemos una copia para probar, operar y mantener, ¿no sería bueno?

¡Por supuesto que esto es posible! Antes no existe la tecnología de contenedores, sin duda es una buena forma de utilizar las máquinas virtuales. Sin embargo, en comparación con nuestro proyecto, el sistema operativo es algo bastante engorroso. Requiere muchos recursos para ejecutar el sistema operativo. Sabemos que el sistema recién instalado no tiene nada, y se ocupará una gran parte del espacio en disco. arriba. . Después de que salió la tecnología de contenedores, resolvió el problema perfectamente. Por supuesto, esta es solo una de ellas, otra razón es que lleva mucho tiempo iniciar el sistema operativo, después de todo, toma unos minutos cargar muchas cosas. Y el contenedor se iniciará correspondientemente mucho más rápido.

Entonces, para resumir, es por eso que digo que el front-end necesita aprender la tecnología docker.

Cómo crear imágenes y contenedores

Habiendo dicho tanto, cómo crear un contenedor docker. A continuación, te contaré brevemente cómo crear el contenedor docker más simple.

Para crear un contenedor docker, primero debe instalar docker en su computadora. Abra la terminal e ingrese el siguiente comando en la terminal (mac):

brew install --cask --appdir=/Applications docker

La instalación puede demorar un tiempo, y la siguiente interfaz aparecerá una vez que se complete la instalación:
inserte la descripción de la imagen aquí

Luego puedes ver la ventana acoplable en la aplicación:
inserte la descripción de la imagen aquí

Haga clic en Aplicar:
inserte la descripción de la imagen aquí

Haga clic en Aceptar para ingresar la contraseña de la computadora

Hasta ahora, Docker está instalado. El siguiente paso es crear un contenedor.Antes de crear un contenedor, primero debemos comprender los tres conceptos más básicos de docker.

Espejo (imágenes)
contenedor (contenedor)
almacén (repositorio)

Si un contenedor es un servidor, entonces las imágenes son plantillas para crear servidores. Una imagen puede crear múltiples contenedores, y un almacén es un lugar para almacenar imágenes, similar a github, un almacén para almacenar código.

Por lo tanto, para crear un contenedor primero necesitamos obtener la imagen.¿Cómo se crea la imagen?Hay dos formas de obtener la imagen, una es generarla con un Dockerfile, y la otra es sacarla del repositorio.

Aquí hablamos principalmente sobre la creación de imágenes con Dockerfile. Un Dockerfile es un archivo de configuración que define cómo crear una imagen. A continuación, intentamos crear un espejo con Dockerfile.

Primero cree una carpeta, cree un archivo index.html y un archivo Dockerfile. En este punto, su directorio de archivos debería verse así:

my-docker
  |____index.html
  |____Dockerfile

Ingrese en index.html :

<h1>Hello docker</h1>

Ingrese en Dockerfile :

# Dockerfile
FROM nginx
COPY index.html /usr/share/nginx/html/index.html
EXPOSE 80

Análisis de configuración :

DESDE nginx: extraiga la imagen oficial de nginx

COPIA index.html /usr/share/nginx/html/index.html: reemplaza index.html en el directorio actual con el archivo /usr/share/nginx/html/index.html en el contenedor, /usr/share/ nginx/html Es el directorio donde nginx almacena archivos de páginas web por defecto en el contenedor

EXPOSE 80: el contenedor expone el puerto 80. Este lugar es solo una declaración. El puerto real publicado debe ser determinado por el puerto definido al ejecutar el contenedor.

Crea un espejo :

docker build . -t mydocker:latest

Análisis de comandos :
compilar: crear una imagen de ventana acoplable
.: usar el archivo acoplable en el directorio actual
-t: usar la etiqueta para marcar la versión
mydocker: crear un espejo llamado mydocker
: más reciente: marcar como la última versión

inserte la descripción de la imagen aquí

Ver los espejos que existen localmente :

docker images

inserte la descripción de la imagen aquí

Crear un contenedor a partir de un espejo :

docker run -d -p 80:80 --name mydocker-container mydocker:latest

Análisis de comandos :
ejecutar: crear y ejecutar el contenedor
-d: ejecutar el contenedor en segundo plano
-p: publicar el puerto
80:80: asignar el puerto 80 del host al puerto 80 del contenedor (el puerto 80 del contenedor está expuesto de forma predeterminada )
–name: dar El contenedor creado se llama mydocker-container
mydocker:latest: use la última imagen de mydocker para crear este contenedor

Acceso al puerto 80 de esta máquina :
inserte la descripción de la imagen aquí

Hasta ahora se ha creado el contenedor docker más simple, cuando accedamos al puerto 80 de la máquina, debido al mapeo de puertos, accederá al puerto 80 del contenedor, y se desplegará nuestra página.

La forma de empaquetar el entorno del nodo local en un espejo se explicará más adelante en el artículo sobre la implementación automática de front-end en combinación con proyectos reales.

Supongo que te gusta

Origin blog.csdn.net/yangxbai/article/details/126557983
Recomendado
Clasificación