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ó
Linux
el 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
docker
Es Linux
una especie de encapsulación del contenedor, que proporciona una interfaz de contenedor simple y fácil de usar.
Podemos usarlo docker
para 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 window
el sistema o mac os
en docker
la computadora, primero debe instalar la versión de escritorio, de hecho, es equivalente a instalar un entorno Linux
kernel + docker
en 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. Docker
Programas dependientes del paquete y sus dependencias en image
archivos. A través de este archivo se puede generar el contenedor Docker
. El mismo image
archivo puede tener varias instancias de contenedor.
# 可以使用这个命令查看image文件
docker image ls
O verlo en el software de escritorio:
Aquí vamos a practicar cómo empaquetar nuestro sistema de administración de fondo en un docker image
archivo ~
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 run
el comando image
se ejecuta durante la fase de construcción del archivo, y los resultados de la ejecución se empaquetarán en image
el archivo, y CMD
el comando se ejecuta después de que se inicie el contenedor. Un comando Dockerfile
puede contener varios RUN
comandos, 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:
archivo contenedor
Este tipo de archivo es el contenedor, que se utiliza para ejecutar image
el archivo. Un image
archivo puede ser ejecutado por múltiples contenedores. Si ha utilizado una máquina virtual, puede convertirse inmediatamente en VMware
un contenedor y puede ejecutar varias imágenes, como CentOS
esperar 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:
Si se crea con éxito:
Al acceder a http://localhost:8080/#/login se mostrará:
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 image
y 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:
Click pull
para tirar, para que se tire la imagen que subimos:
Crea un contenedor y ejecútalo de nuevo, realmente no hay problema~~
Resumir
Después de comprender Docker
la función y los conceptos relacionados, se refleja y utiliza el proyecto existente.
referencia
Si hay algún error, indíquelo, gracias por leer ~