[Ingeniería front-end] Introducción a Docker

fondo

  • Cuando usamos (desarrollamos) un determinado software, es posible que debamos asegurarnos de que el sistema operativo, las dependencias y las variables de entorno sean las mismas, y estas configuraciones pueden llevar mucho tiempo.
  • El uso de una máquina virtual puede resolver algunos de los problemas anteriores, pero ha causado otros problemas: alto uso de recursos, muchos pasos redundantes, inicio lento, etc. Una computadora portátil con bajo rendimiento es realmente un desastre.
  • Más tarde, la gente lanzó Linuxel contenedor, que aísla el proceso y todos los recursos que toca son virtuales, dándose cuenta del aislamiento del sistema subyacente y usándolo: inicio rápido, menor ocupación de recursos y tamaño pequeño.

definición

dockerEs Linuxuna especie de encapsulación del contenedor, que proporciona una interfaz de contenedor simple y fácil de usar.

Podemos usarlo dockerpara empaquetar la aplicación, generar un archivo (es decir, una imagen espejo) y ejecutar este archivo para generar un contenedor virtual. El programa se ejecuta en este contenedor virtual, como si se ejecutara en una máquina física real, por lo que no hay necesidad de preocuparse por los problemas ambientales.

Instalar

Si desea utilizarlo en windowel sistema o mac osen dockerla computadora, primero debe instalar la versión de escritorio, de hecho, es equivalente a instalar un entorno Linuxkernel + dockeren la computadora. Entonces, primero diríjase al sitio web oficial de Docker para descargar, los pasos de instalación son muy simples ~

Después de que la instalación sea exitosa, puede abrir el software directamente o usar el siguiente comando para determinar si la instalación es exitosa ~

docker version

archivo de imagen

En este caso, dicho archivo puede denominarse imagen especular. DockerProgramas dependientes del paquete y sus dependencias en imagearchivos. A través de este archivo se puede generar el contenedor Docker. El mismo imagearchivo puede tener varias instancias de contenedor.

# 可以使用这个命令查看image文件
docker image ls

O verlo en el software de escritorio:

inserte la descripción de la imagen aquí

Aquí vamos a practicar cómo empaquetar nuestro sistema de administración de fondo en un docker imagearchivo ~

Ahora cree uno nuevo en el directorio del proyecto .dockerignore:

.git
node_modules
npm-debug.log

Los archivos anteriores son lo que no necesitamos empaquetar en una imagen reflejada.

nuevo Dockerfile:

# FROM 依赖包,这里我们需要node 
# as 代表这个任务的别名
FROM node:16.20.0 as builder
# 拷贝当前目录到/var/web
COPY . /var/web
# 指定命令行在/var/web文件下执行
WORKDIR /var/web
# 安装依赖并执行打包
RUN npm install --registry=https://registry.npm.taobao.org \
    && npm run build

# FROM 依赖包,这里我们需要nginx来预览构建好的项目
FROM nginx:1.24.0 as prod
# 预览的端口号是3000
EXPOSE 3000
# 将打包好的文件复制到nginx中
COPY --from=0 /var/web/dist /usr/share/nginx/html
# 相当于打开了 CMD 的终端,然后输入对应的命令
CMD [ "nginx", "-g", "daemon off;" ]

Cabe señalar aquí que runel comando imagese ejecuta durante la fase de construcción del archivo, y los resultados de la ejecución se empaquetarán en imageel archivo, y CMDel comando se ejecuta después de que se inicie el contenedor. Un comando Dockerfilepuede contener varios RUNcomandos, pero solo uno CMD.

A continuación, construye la imagen:

# -t 指的是镜像名字,建议前面加入空间名,以防发布的时候跟别人装车
# . 这个不能省略,代表当前目录
docker build -t armouy/vue3-admin .

# 查看
docker image ls

Mirando el lado del escritorio, de hecho hay esta imagen reflejada:

inserte la descripción de la imagen aquí

archivo contenedor

Este tipo de archivo es el contenedor, que se utiliza para ejecutar imageel archivo. Un imagearchivo puede ser ejecutado por múltiples contenedores. Si ha utilizado una máquina virtual, puede convertirse inmediatamente en VMwareun contenedor y puede ejecutar varias imágenes, como CentOSesperar una imagen,

Ingrese el comando para crear una imagen espejo:

# -d代表后台运行,启动一次就够了
# -p 后面是端口映射80端口映射到本机的8080, 3000端口映射到本机的9999
# --name即容器名字
docker run -d -p 8080:80 --name vue3-admin-container armouy/vue3-admin 

También se puede operar en el lado del escritorio:

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

Si se crea con éxito:

inserte la descripción de la imagen aquí

Al acceder a http://localhost:8080/#/login se mostrará:

inserte la descripción de la imagen aquí

Publicar archivo de imagen

Primero vaya a hub.docker.com o cloud.docker.com para registrar una cuenta. Luego, inicie sesión con el siguiente comando.

docker login

Si aún no lo ha empaquetado, empaquete uno de acuerdo con el método anterior imagey luego publíquelo:

docker image push armouy/vue3-admin

Tire del archivo de imagen

Después de que la imagen anterior se publique con éxito, podemos eliminar la imagen local y el contenedor, y buscar la imagen que publicamos:

inserte la descripción de la imagen aquí

Click pullpara tirar, para que se tire la imagen que subimos:

inserte la descripción de la imagen aquí

Crea un contenedor y ejecútalo de nuevo, realmente no hay problema~~

Resumir

Después de comprender Dockerla función y los conceptos relacionados, se refleja y utiliza el proyecto existente.

referencia


Si hay algún error, indíquelo, gracias por leer ~

Supongo que te gusta

Origin blog.csdn.net/qq_34086980/article/details/131434449
Recomendado
Clasificación