将SpringBoot项目制作成Docker镜像并在本机访问

时间:2024-05-21 12:04:23

一、将springboot项目打包并制成镜像
1.在项目根目录运行mvn clean 清空打包内容,再运行mvn package将项目打包成jar包。

2.在jar包同级目录下创建一个dockfile,如下图(基础镜像java,使用官方docker的java源,docker pull java)
将SpringBoot项目制作成Docker镜像并在本机访问

3.在Centos7*问该文件,使用docker build -t springboot/demo .(.当前路径的dockerfile),即可制成镜像;

4.使用docker run -d -p 80:80 --name=“web” springboot/demo运行容器。参数t表示容器后台运行并返回容器id,p表示docker的80映射到Centos7的80端口;

5.查看运行的容器

将SpringBoot项目制作成Docker镜像并在本机访问

6.在本机查看运行的web项目,编辑虚拟机网络设置,进行端口映射;

将SpringBoot项目制作成Docker镜像并在本机访问
将SpringBoot项目制作成Docker镜像并在本机访问
将SpringBoot项目制作成Docker镜像并在本机访问
将SpringBoot项目制作成Docker镜像并在本机访问
将SpringBoot项目制作成Docker镜像并在本机访问
二、制作MySQL的Docker镜像与容器
因为容器的项目无法访问本机的数据库,所以需要制作一个docker镜像与容器

1.拉取MySQL官方镜像 docker pull mysql/mysql-server

2.容器退出后不保存数据,所以创建挂载节点(mkdir /usr/mysql_data),创建容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=4396777 -v /usr/mysql_data:/var/lib/mysql --name=“mysql” mysql/mysql-server(-e 设置mysql的root账户密码,-v将docker的/var/lib/mysql映射到centos7的/usr/mysql_data)

3.连接MySQL

docker exec -it mysql bash(进入mysql),在输入root密码mysql -u root -p

windows远程访问docker容器的mysql,在Navicat连接数据库出现1130error,需要设置访问权限,如下:

use mysql;

select ‘host’ from user where user=‘root’;
update user set host = ‘%’ where user =‘root’;
flush privileges;

登录成功,能访问到docker容器的mysql了。