Docker部署Java Web项目

本文指导如何在Eclipse中管理Java项目,包括设置JDK版本、配置数据库连接,打包后部署到MySQL和Tomcat容器,并通过Navicat导入SQL。还介绍了如何启动并连接到docker化的MySQL和Tomcat容器。

1)准备java项目
1.把源代码导入到eclipse中
在这里插入图片描述
在这里插入图片描述

2.打开readme文件,查看适合的版本号

  • jdk1.8
  • mysql5.7
  • tomcat8.0
    在这里插入图片描述

3.右键项目,在build path中把jdk改成1.8
在这里插入图片描述
在这里插入图片描述

4.修改数据库配置文件db.properies
url:ip端口
root账号密码
在这里插入图片描述

5.项目打包
在这里插入图片描述
在这里插入图片描述

2)准备mysql容器
1.打开网站:https://hub.daocloud.io

2.搜索mysql
在这里插入图片描述

3.找到启动命令

docker run -p 3306:3306 --name xs-mysql -e MYSQL_ROOT_PASSWORD=123456 -d daocloud.io/library/mysql:5.7.6

在这里插入图片描述

4.使用本地navicat连接容器中的数据库
在这里插入图片描述

5.把项目中的sql文件导入到数据库中

3)准备tomcat容器
启动tomcat命令:

docker run -d -p 8080:8080 --name xs-tomcat daocloud.io/library/tomcat:8.5.57-jdk8-openjdk

在这里插入图片描述

把war文件复制到webapps目录下
docker cp 文件名 容器id:容器内部路径

docker cp xueshengpaike.war bf:/usr/local/tomcat/webapps

在这里插入图片描述

### 使用Docker部署Java项目的教程和最佳实践 #### 编写高效的Dockerfile 为了有效地使用Docker部署Java项目,创建一个合适的`Dockerfile`至关重要。这个文件定义了构建镜像所需的全部指令。推荐的做法是从官方的JDK或OpenJDK基础镜像开始,这能确保环境的一致性和安全性。 ```dockerfile FROM openjdk:17-jdk-alpine WORKDIR /app COPY target/my-app.jar my-app.jar ENTRYPOINT ["java", "-jar", "my-app.jar"] ``` 上述代码展示了如何基于Alpine Linux版本的OpenJDK 17创建一个新的工作目录,并将编译好的`.jar`文件复制进去作为入口点启动应用[^1]。 #### 构建与推送镜像 完成`Dockerfile`编写后,下一步就是利用它来构建自定义的应用程序镜像。可以通过简单的命令行操作完成此过程: ```bash $ docker build -t my-java-app . $ docker push my-java-app ``` 这里假设已经登录到了Docker Hub或其他私有仓库中以便于后续分发给其他团队成员或是生产环境中使用[^2]。 #### 启动容器实例 当拥有可用的镜像之后,便可以很方便地通过`docker run`命令来启动新的容器实例。对于大多数场景来说,默认设置就已经足够好用了;不过有时候可能还需要额外指定一些参数比如端口映射、内存限制等选项以满足特定需求。 ```bash $ docker run -d -p 8080:8080 --name=my-running-app my-java-app ``` 这条语句将会以后台模式运行名为`my-running-app`的服务并将主机上的8080端口转发至容器内部相同的端口号上[^3]。 #### 多服务协同工作 如果存在多个相互依赖的服务,则建议采用[Docker Compose](https://docs.docker.com/compose/)工具来进行统一管理。只需要在一个YAML格式的配置文件里描述各个组件之间的关系即可自动处理复杂的交互逻辑。 ```yaml version: '3' services: web: image: my-web-service ports: - "5000:5000" db: image: postgres environment: POSTGRES_USER: user POSTGRES_PASSWORD: password ``` 这段例子说明了一个Web服务器连接PostgreSQL数据库的情况,在开发测试阶段特别有用处[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妍婧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值