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