使用Docker部署JavaWeb项目

本文介绍了如何在Centos 7上使用Docker部署JavaWeb项目。从环境准备、编写Dockerfile、构建镜像、运行容器到测试部署结果,详细阐述了每个步骤。在过程中,解决了Docker基础镜像拉取时的证书问题和IPv4转发禁用导致的网络问题。

一、环境准备

  1. 首先准备一台Centos 7的虚拟机并安装Docker。

    image

  2. 准备好Tomct、JDK的安装包以及该java项目的War包。

    image

二、编写Dockerfile
Dockerfile是一个由一条条指令组成的文本文件,通过它能快速地构建docker镜像。
本文的Dockerfile内容如下:

FROM centos
ADD jdk-8u161-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.29.tar.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_161
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.29
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.29
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
ADD ./TRMS_HK.war /usr/local/apache-tomcat-8.5.29/webapps
EXPOSE 808
### 使用 Docker Desktop 部署 Java Web 项目的教程 #### 准备工作 为了在 Docker Desktop 上成功部署 Java Web 项目,需要完成以下准备工作: - 安装并配置好 Docker Desktop[^1]。 - 确保本地已经具备一个可运行的 Java Web 项目文件(如 `.jar` 文件),或者可以从远程仓库拉取。 --- #### 创建 Dockerfile Dockerfile 是定义容器镜像构建过程的关键文件。以下是基于 OpenJDK 的典型 Dockerfile 示例: ```dockerfile FROM openjdk:8-jdk-alpine ADD test-0.0.1-SNAPSHOT.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"] ``` 上述代码片段表示从官方 `openjdk:8-jdk-alpine` 基础镜像开始构建,并将本地的 JAR 文件复制到容器中作为应用入口[^4]。 --- #### 构建 Docker 镜像 在包含 Dockerfile 的目录下执行以下命令来构建自定义镜像: ```bash docker build -t java-web-app . ``` 此命令会读取当前路径下的 Dockerfile 并将其打包成名为 `java-web-app` 的镜像。 --- #### 启动容器 使用以下命令启动容器并将端口映射至主机: ```bash docker run -d -p 8080:8080 --name my-java-web-app java-web-app ``` 其中 `-d` 表示后台运行模式;`-p` 参数用于指定宿主机与容器之间的端口映射关系;`--name` 则赋予该实例一个易于识别的名字[^2]。 如果项目依赖外部服务(例如 MySQL 数据库),可以通过 Compose 工具进一步简化多组件协作流程[^3]。 --- #### 测试访问 打开浏览器输入地址 http://localhost:8080 即可验证是否正常加载页面内容。 --- #### 总结 通过以上步骤可以在 Windows 或其他支持 Docker Desktop 的平台上快速搭建起一套完整的 Java Web 运行环境,不仅节约了传统虚拟机方案可能带来的硬件开销,还极大提升了跨平台迁移的一致性和效率。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值