Linux中使用Docker发布JavaWeb项目

安装部署JavaWeb项目需要的容器

一、 安装部署MySQL

#1、搜索mysql镜像
docker search mysql
#2、拉取mysql镜像(可自行选择版本)
docker pull mysql:5.7
#3、创建容器,设置端口映射、目录映射
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
#执行创建容器命令
docker run -id \
-p 3306:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
参数说明:

- -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
- -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
- -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
- -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

容器创建完成后如图
在这里插入图片描述
2)启动容器(刚创建完是默认启动的,这步可跳过)
在这里插入图片描述
查看所有容器可知容器已启动
在这里插入图片描述
3)进入mysql容器
在这里插入图片描述
4)使用之前创建时设置的密码登录(MYSQL_ROOT_PASSWORD=123456),如果能登录则安装成功,如果失败请删除容器重复之前步骤
在这里插入图片描述
5)使用外部机器Navicat连接测试
在这里插入图片描述

二、安装部署Tomcat(大致同上)

#1、搜索tomcat镜像
docker search tomcat
#2、拉取tomcat镜像(可自行选择版本)
docker pull tomcat:9.0.34
#3、创建容器,设置端口映射、目录映射
# 在/root目录下创建tomcat目录用于存储tomcat数据信息
mkdir ~/tomcat
cd ~/tomcat
#执行创建容器命令
docker run -id --name=c_tomcat \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat:9.0.34
参数说明:

- -p 8080:8080:将容器的8080端口映射到主机的8080端口
  -v $PWD:/usr/local/tomcat/webapps:将主机中当前目录挂载到容器的webapps

补充:

1)安装Tomcat时会自动安装他运行所需要的依赖,如java运行环境JDK。
2)如果项目需要Nginx、redis也可按照以上方式进行安装

三、将项目部署到Tomcat运行

1)把打包后的Java web项目Export–>war文件部署到tomcat容器内部的webapps里面。

我们之前已经将宿主机下的/root/tomcat目录挂载到容器中的 /usr/local/tomcat/webapps ,宿主机下的/root/tomcat就是数据卷目录,当容器目录和数据卷目录绑定后,对方的修改会立即同步。
简单的说,当前宿主机的/root/tomcat就是webapps目录。

所以我们只需要将我们项目打好的war包放到/root/tomcat目录就可以了。

2)最重要的一点,Tomcat与mysql是两个容器,tomcat中的项目运行需要数据库的数据,两个容器怎么互相访问呢?

1、输入命令docker inspect 容器名
在这里插入图片描述
2、在详情中找到红框部分,复制ip,这就是我们项目访问mysql的host
在这里插入图片描述
3、修改项目连接数据库的配置文件
在这里插入图片描述
4、修改完成后,重启docker,命令:systemctl restart docker

然后启动mysql容器 命令:docker start c_mysql

tomcat容器  命令:docker start c_tomcat

查看容器是否已经启动 命令:docker ps -a

如图则容器已经启动,可以访问我们的项目了
在这里插入图片描述

5、访问项目,在外部机器浏览器URL中输入

http://Linux主机IP:Tomcat端口号/项目名称/

http://192.168.0.105:8080/MyWebsite_HuaXin/

如图,我已经访问成功进入项目
在这里插入图片描述

6、测试项目能否连接MySQL数据库

数据库有两个用户
在这里插入图片描述
发送登录请求返回状态码200说明连接MySQL没有问题
在这里插入图片描述

至此,项目部署完成!

猜你喜欢

转载自blog.csdn.net/weixin_44790046/article/details/105613016