English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ejecutar el proyecto JavaWeb construido con MyEclipse en el contenedor de Docker

este artículo explicará cómo hacer una imagen Docker del proyecto Java web mencionado en el artículo anterior. El editor lo considera bastante bueno y lo comparte con todos, también como una referencia. Sigan al editor para verlo juntos.

la aplicación se ejecuta en el contenedor Docker y en el equipo físico, el principio es el mismo, por lo que los pasos para desplegar este proyecto Java web en Docker deben ser los siguientes:

  • soporte del servidor (aquí se elige Centos7)
  • instalar el entorno Java
  • instalar el entorno Tomcat
  • copiar webapps del directorio raíz de Tomcat/eliminar todos los archivos (directorios) en la carpeta ROOT
  • copiar todos los archivos (directorios) del directorio WebRoot del proyecto de desarrollo web a webapps de Tomcat/en la carpeta ROOT
  • iniciar el servicio Tomcat

los pasos ya son claros, pero para crear una imagen Docker,还需要另一个东西:Dockerfile。

Dockerfile es un archivo que contiene instrucciones especiales que Docker puede identificar. Después de crear el archivo Dockerfile, se puede usar docker build para crear la imagen docker.

comenzar a construir la imagen Docker

  • crear un directorio webapp para este ejemplo
  • copiar el WebRoot del proyecto al directorio correspondiente
  • crear el archivo Dockerfile

la estructura se muestra a continuación:

construir el diagrama de estructura de imagen Docker

crear imagen

docker build -t "zsl131/web01" .

Atención:

docker build: crear imagen Docker

-t "zsl131/web01":especificar el nombre de la imagen, aquí se especifica como zsl131/web01;el nombre de la imagen se compone de dos partes: el repositorio y el nombre, zsl131es el nombre del repositorio que solicité para registrarme en hub.docker.com, web01es el nombre de esta imagen

.:Tenga en cuenta que hay un espacio delante, lo que significa que se busca el archivo Dockerfile en el directorio actual para construir la imagen.

A continuación se muestra el Dockerfile utilizado para crear la imagen de Docker en este ejemplo, para entender mejor el Dockerfile, se pueden eliminar todas las instrucciones del siguiente archivo y ejecutar una vez por cada línea: docker build -t "zsl131/web01" .,así se pueden ver varios tipos de información durante la construcción de la imagen con Dockerfile:

# Con Centos7como imagen base
FROM centos:7
# Al no saber cómo instalar JDK, puede activar la siguiente línea de comando y luego ejecutar directamente: docker build
#RUN yum search java | grep jdk
# Seleccionar la versión de JDK adecuada para instalar
RUN yum install -y java-1.7.0-openjdk.x86_64
# Crear un directorio llamado web en el directorio raíz
RUN mkdir /web/
# Establecer el directorio de trabajo como/web,después de la configuración se puede usar: RUN pwd para ver la ruta actual
WORKDIR /web/
# Instalar wget para facilitar la descarga de Tomcat
RUN yum install -y wget
# Descargar el archivo comprimido de Tomcat
RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-6/v6.0.48/bin/apache-tomcat-6.0.48.tar.gz
# Descomprimir los archivos de Tomcat
RUN tar zxvf apache-tomcat-6.0.48.tar.gz
# Establecer el directorio de herramientas
WORKDIR /web/apache-tomcat-6.0.48/webapps/ROOT/
# Ver la lista de todos los archivos (directorios) del directorio actual, en este momento habrá algunos archivos adicionales de Tomcat
RUN ls -l
# Eliminar todos los archivos (directorios) del directorio actual
RUN rm -rf *
# Eliminar y luego ver la lista, en este momento no hay archivos
RUN ls -l
# Copiar todos los archivos (directorios) del directorio WebRoot al directorio actual (webapps/ROOT), aquí también se puede usar la instrucción COPY
ADD WebRoot .
# Después de la copia, puede ver la lista para verificar si la copia fue exitosa
RUN ls -l
# Establecer el directorio de trabajo en el directorio bin de Tomcat para facilitar el inicio del servicio de Tomcat
WORKDIR /web/apache-tomcat-6.0.48/bin/
# Exponer Tomcat808Puerto 0
EXPOSE 8080
# Iniciar el servicio de Tomcat, de esta manera no se sobrescribirá al ejecutar docker run
ENTRYPOINT ["./catalina.sh", "run"]

Después de escribir el Dockerfile, construya la imagen con el siguiente comando al final:

docker build -t "zsl131/web01" .

Puede ver la imagen recién construida con el comando docker images.

Ejecutar contenedor

docker run -d --name web01 -p 80:8080 zsl131/web01

Explicación:

docker run: comando para ejecutar el contenedor

-d: ejecutar en segundo plano

--name web01:Configure el nombre del contenedor como web01

-p 80:8080: Specify the exposed port as80, es decir, cuando se accede externamente8Puerto 0 se mapea al interior del contenedor808Puerto 0

zsl131/web01:Nombre de la imagen

Ver el registro de inicio del contenedor

docker logs web01

Explicación:

docker logs: comando para ver los registros del contenedor

web01:El nombre del contenedor que se va a ver, aquí es web01

Acceder

Abra el navegador e ingrese: http://192.168.99.100 para acceder al proyecto javaweb creado por MyEclipse.

Atención:192.168.99.100 es la dirección IP de mi anfitrión de Docker, y puedo acceder a través de docker-machine inspect test01Para ver, entre otros, test01Es el nombre del anfitrión de Docker.

Este es el contenido completo del artículo, espero que ayude en su aprendizaje y esperamos que todos apoyen más al tutorial de alarido.

Declaración: el contenido de este artículo se obtiene de la red, pertenece al propietario original, el contenido se contribuye y sube por los usuarios de Internet, este sitio no posee los derechos de propiedad, no se ha editado人工, ni asume la responsabilidad de las responsabilidades legales relacionadas. Si encuentra contenido sospechoso de copyright, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar y proporcionar evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará