docker部署springboot单体项目

本文详细介绍了如何使用Docker进行开发环境与生产环境的一致部署,包括MySQL8的安装、配置、以及基于Dockerfile构建和运行Java应用。涵盖了从拉取镜像、端口映射、设置环境变量到远程连接的全过程。
摘要由CSDN通过智能技术生成

1.docker部署的好处

开发环境与生成环境保持一致,让程序正常运行。
部署节约时间,方便快速部署。
方便部署一些大小复杂的分布式系统。
学习成本低。
灵活集成服务器和应用。

2.通过docker安装mysql8

2.1.拉取MySQL8镜像

docker pull mysql:8.0

等待拉取完成
在这里插入图片描述
查看拉取完的镜像
在这里插入图片描述

2.2.docker运行mysql8

sudo docker run -d --name mysql8 -p 0.0.0.0:3309:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=111111 mysql:8.0

-d 表示后台运行容器。
-name 给运行的容器取一个名称。
-p 指定端口映射,将宿主机端口(也就是服务器开放的端口)映射到容器运行的端口。
-v 在宿主机找一个目录让容器的/var/lib/mysql映射。
-e MYSQL_ROOT_PASSWORD 设置环境变量,root的密码为111111。
mysql:8.0 运行的镜像为mysql:8.0。

在这里插入图片描述
在这里插入图片描述

2.3.服务器上测试登录msyql

进入容器

docker exec -it mysql8 bash

登录mysql

mysql -uroot -p

在这里插入图片描述
设置mysql远程连接权限

使用mysql库
USE mysql;
修改加密规则 
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
更新一下用户的密码 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111';
刷新生效
FLUSH PRIVILEGES;

退出msyql

quit

退出bash-4.4#

exit

重启mysql

docker restart mysql8

设置开机启动

docker update mysql8 --restart=always

2.4.远程连接数据库

开发服务器3309和8888端口,8888端口是给应用准备的
在这里插入图片描述

3.安装应用

3.1.在服务器上新建文件/home/apply/webpage

mkdir -p /home/apply/webapge

在这里插入图片描述

3.2.将打jar的项目上传到webpage文件夹下

在这里插入图片描述

3.3.制作Dockerfile文件

在jar包同一级文件夹下新建Dockerfile文件

FROM  openjdk:8
VOLUME /home/apply/webpage
ADD fishexam.jar fishexam.jar
EXPOSE 8888
ENTRYPOINT ["java","-jar","/fishexam.jar"]

FROM openjdk:8 拉取一个jdk未1.8的依赖环境。
VOLUME /home/apply/webpage 指定数据卷为/home/apply/webpage。
ADD fishexam.jar fishexam.jar 添加fishexam.jar在容器中运行。
EXPOSE 该容器暴露的端口是多少,就是 jar 在容器中以多少端口运行。
ENTRYPOINT 容器启动之后执行的命令,java -jar /fishexam.jar 即启动 jar。

3.4.打包镜像

docker build -t fishexam .

3.5.运行容器

docker run -d -p 8888:8888 --name fishexam-8888 fishexam

3.6.访问

ip+端口(8888)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值