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

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

2.在jar包同级目录下创建一个dockfile,如下图(基础镜像java,使用官方docker的java源,docker pull java)
在这里插入图片描述

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.查看运行的容器

在这里插入图片描述

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

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

在这里插入图片描述
二、制作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了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值