Paquete jar del proyecto agregado IDEA SpringBoot, implementación de Docker


1. Frente

  1. El blog anterior ha escrito una forma de construir el proyecto, y algunos introdujeron Portal : https: //blog.csdn.net/qq_38637558/article/details/105167120
  2. Yo uso Windows, esto en realidad no es ninguna diferencia.
  3. La herramienta de desarrollo es IntelliJ IDEA
  4. Presentará dos formas de subir al servidor

2. Configuración de IDEA

Inserte la descripción de la imagen aquí
El éxito del enlace es correcto . Si
mi Windows es la columna, debe activar esto:
Inserte la descripción de la imagen aquí
Estructura del proyecto:
Inserte la descripción de la imagen aquí
Contenido del archivo Dockerfile:

#  基础镜像必要,代表你的项目将构建在这个基础上面
FROM java:8
# 对外端口
EXPOSE 8088
# 创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为 testDemo.jar.我们在base(项目入口)的pom.xml中指定了打包后的jar名
COPY base/target/testDemo.jar testDemo.jar
# 运行jar包
RUN bash -c 'touch /testDemo.jar'
# 指定容器启动程序及参数
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/testDemo.jar"]

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

3. Empaqueta el archivo jar

Elija el entorno primero. Como se mencionó anteriormente, podemos
Inserte la descripción de la imagen aquí
limpiar el paquete primero. En
Inserte la descripción de la imagen aquí
este momento, podemos ejecutar el archivo jar primero para ver si hay algún problema con el archivo empaquetado. Siguiente paso:
Inserte la descripción de la imagen aquí

4. Sube al servidor a través de la ventana acoplable local.

1. Empaquete la imagen en el local

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Ejecute el espejo y vea si hay algún problema;
Inserte la descripción de la imagen aquí
OK, en este paso, nuestro espejo se ha empaquetado y el resto se transferirá a nuestro servidor, y no se puede ejecutar nada en esta máquina.
Dos métodos:

  1. A través de la biblioteca privada de Docker :, portal : https://blog.csdn.net/qq_38637558/article/details/99603071
  2. Transfiera a través de la ventana acoplable oficial, el concentrador de la ventana acoplable, parece ser esto, puede configurar el proyecto para que sea privado, se recomienda no usar este método
  3. Eso es lo que voy a presentar a continuación.

2. Sube la imagen al servidor.

Empaquete la imagen local primero

docker save -o testdemo.tar testdemo:1.0  

Inserte la descripción de la imagen aquí
Subir al servidor

Descomprime el archivo en la imagen:

docker load < testdemo.tar

Inserte la descripción de la imagen aquí



5. Empaquete la imagen directamente en el servidor (recomendado)

1. Configure este lugar como la dirección del servidor.

Inserte la descripción de la imagen aquí

2. Configure la ventana acoplable del servidor.

文件地址:
vim /usr/lib/systemd/system/docker.service

所加参数:
-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

systemctl daemon-reload // 1,加载docker守护线程
systemctl restart docker // 2,重启docker

Abra el puerto 2375, asegúrese de cerrarlo, porque este puerto, siempre que sepa la dirección IP de su servidor, puedo conectarme al servicio de la ventana acoplable y luego acceder a su espejo ... firewall, grupo de seguridad, IP designada, certificado se puede manejar, este lugar debe prestar atención a las
Inserte la descripción de la imagen aquí
áreas que requieren atención son: este lugar debe confirmar el formato, o incorrecto, el reinicio fallará, no desinstalar y luego reinstalar, desea creer que se pueden resolver
se informará este error:

Failed to restart docker.service: Unit is not loaded properly: Invalid argument. See system logs and 'systemctl status docker.service' for details.

Inserte la descripción de la imagen aquí

3. Ejecute el archivo dockerfile: Build Image

Inserte la descripción de la imagen aquí

4. Vaya al servidor para ver

docker images

6, charla miscelánea

  1. También encontré un tutorial en Internet, y luego lo descubrí. Si es difícil, se siente muy simple si lo conoces, pero si no lo has hecho, puede ser un poco difícil, un poco

  2. Configurar las variables de entorno del contenedor de DockerENV JAVA_OPTS=""

  3. Parece que no hay nada que comentar, todo es muy simple

  4. 1. Maven Profiles seleccione el entorno, marque uno
    2. Maven testdemo (root) -> clean -> package
    3. Modifique el archivo de configuración de la ventana acoplable Run / Debug Configurations, modifique el número de versión Etiqueta de imagen (anote el número de versión para cada actualizar Modificarlo para distinguirlo)
    4. La flecha en el archivo Dockerfile, construir la imagen
    5. Ver las imágenes duplicadas de la ventana acoplable
    6. Ejecutar la prueba local nuevamente
    7. docker guardar -o testdemo.tar testdemo: 1.0
    8. Subir al servidor
    9 . docker load <testdemo.tar
    10. docker run -p 8080: 8080 --name testdemo – restart = always -d testdemo: 1.0 (-v log mount, las imágenes y otros archivos están montados)
    11. Verifique el registro de inicio, confirme el estado de inicio y configurar el entorno, se mostrarán las primeras líneas del registro de inicio del entorno

  5. El proyecto único de springboot también se puede operar así

  6. En primer lugar, se recomienda el quinto método. Es más problemático cargar la ventana acoplable local. Primero, la imagen empaquetada será grande y la carga también llevará mucho tiempo.

  7. Finalmente, si el servidor de configuración de la ventana acoplable reporta un error, es el segundo paso de la quinta sección. No pienses en desinstalar. Tuve este error en ese momento. También encontré muchos tutoriales en Internet, y luego desinstalé Dafa. De hecho, si lo piensas por ti mismo, sabrás dónde está el problema.

  8. Abra el puerto 2375, asegúrese de cerrarlo, porque este puerto, siempre que sepa la dirección IP de su servidor, puedo conectarme al servicio de la ventana acoplable y luego acceder a su espejo ... firewall, grupo de seguridad, IP designada, certificado Se puede procesar, se debe prestar atención a este lugar.

Supongo que te gusta

Origin blog.csdn.net/qq_38637558/article/details/105154483
Recomendado
Clasificación