Docker学习笔记之Docker部署Java web系统
本文将会详细介绍如何使用Docker来部署Java web系统。
步骤
步骤1:编写Dockerfile
首先需要编写一个Dockerfile,用于构建镜像。Dockerfile 中需要包含以下内容:
FROM openjdk:8-jdk-alpine
COPY target/myapp.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]
步骤2:构建镜像
在Dockerfile所在目录中打开终端,运行以下命令:
docker build -t myapp:1.0 .
这里的 myapp
是镜像名称,1.0
是版本号,.
表示使用当前目录下的 Dockerfile 来构建镜像。
步骤3:运行容器
使用以下命令来启动容器:
docker run -p 8080:8080 myapp:1.0
其中,-p
参数将容器的8080端口映射到宿主机的8080端口,myapp:1.0
是之前构建好的镜像。
步骤4:访问
访问 http://localhost:8080/myapp
,即可看到部署好的Java web系统。
示例1:使用Spring Boot构建Java web系统
步骤1:使用Spring Boot创建项目
使用Spring Initializr创建一个基于Spring Boot的Java web项目。
步骤2:编写Dockerfile
在项目的根目录下创建一个 Dockerfile 文件,并添加以下内容:
FROM openjdk:8-jdk-alpine
COPY target/demo-0.0.1-SNAPSHOT.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
步骤3:构建镜像
使用以下命令来构建镜像:
docker build -t spring-boot-demo:1.0 .
步骤4:运行容器
使用以下命令来运行容器:
docker run -p 8080:8080 spring-boot-demo:1.0
步骤5:访问
访问 http://localhost:8080
,即可看到spring-boot-demo项目的欢迎页面。
示例2:使用Docker Compose部署多容器应用
步骤1:编写docker-compose.yml文件
在应用的根目录下创建一个 docker-compose.yml 文件,并添加以下内容:
version: "3"
services:
app:
build: .
ports:
- "8080:8080"
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: demo
该文件定义了两个服务:app 和 db,app 服务依赖于 db 服务。在 app 服务中,通过 build 命令使用当前目录下的 Dockerfile 文件构建镜像,端口映射在本地的 8080 端口。
步骤2:构建和启动
使用以下命令构建并启动多个容器:
docker-compose up --build
步骤3:访问
访问 http://localhost:8080
,即可访问应用。
总结
本文介绍了如何使用Docker来部署Java web系统,同时给出了两个示例。使用Docker可以大大简化部署过程,提高应用的可移植性和可靠性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker学习笔记之Docker部署Java web系统 - Python技术站