制作SpringBoot镜像

2021-7-29

1.将jar包传入虚拟机

  • 确认虚拟机地址及连接是否畅通

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sC7dJADg-1627642098726)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210729095118898.png)]

  • 虚拟机地址作为主机地址
    在这里插入图片描述

  • 输入账号密码

  • 账号通常为root

连接成功。
在这里插入图片描述

  • 传输文件

点击按钮弹出xtp7
在这里插入图片描述

拖动传输
在这里插入图片描述

2.制作Springboot镜像

Springboot

拉取镜像
jar包与Dockerfile 放置于同一文件夹下

查看镜像 将java:alpine写入Dockerfile在这里插入图片描述

Dockerfile内容

FROM java:alpine
MAINTAINER lhc
VOLUME /tmp
ADD SpringBoot-0.0.1-SNAPSHOT.jar springboot.jar
ENTRYPOINT ["java","-jar","/springboot.jar"]

docker build -t spring-boot:1.0 . 构建镜像
在这里插入图片描述成功在这里插入图片描述

3.下载MySQL镜像

springboot工程的application.yml改成动态配置

spring:
  datasource:
#   url: jdbc:mysql://localhost:3306/db1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
#   username: root
#   password: root
#   driver-class-name: com.mysql.cj.jdbc.Driver
   driver-class-name: com.mysql.cj.jdbc.Driver
   url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:localhost}:${DATASOURCE_PORT:3306}/db1?characterEncoding=UTF-8&useUnicode=true&serverTimezone=Asia/Shanghai
   username: ${DATASOURCE_USERNAME:root}
   password: ${DATASOURCE_PASSWORD:root}

在linux上运行mysql镜像和springboot镜像,然后将,容器启动时指定mysql地址

下载mysql镜像
在这里插入图片描述

运行mysql容器

容器启动时指定mysql端口号 密码在这里插入图片描述

docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d/ -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345 --name mysql_test mysql:5.7

连接并创建新的数数据库

数据库主机名是虚拟机ip(会话主机ip)密码为刚刚自己设置的,端口也是自己设置的
在这里插入图片描述
在这里插入图片描述

运行

运行springboot
在这里插入图片描述
在这里插入图片描述

问题总结

问题1:连接虚拟机连不上

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

(6条消息) CentOS 7: Restarting network (via systemctl): Job for network.service failed_Kngines`Blog-CSDN博客

问题2:如何设置固定ip

解决:

(6条消息) Linux(二)给虚拟机固定ip_蚕豆糯米饭的博客-CSDN博客

centOS7虚拟机设置固定IP - 浪颠 - 博客园 (cnblogs.com)

问题3: 虚拟机连不上网

在这里插入图片描述解决:

(6条消息) 笔记:docker启动的时候提示WARNING: IPv4 forwarding is disabled. Networking will not work._ezbuy的博客-CSDN博客

问题4:运行镜像时时访问不到

在这里插入图片描述
没有做好端口映射

解决

# 直接运行容器. (docker run hello-world -> 在镜像不存在时,会自动下载,并且下载最新的版本)
docker run 镜像的id|镜像名称[:tag]

# 后台运行容器.
docker run -d 镜像的id|镜像名称[:tag]

# 完整运行容器命令
docker run -d -p 宿主机端口:容器端口 -v 数据卷:容器路径 -e 环境名称=值 --name 容器名称 镜像id

采用第二种
docker run -d -p 8081:8080 springboot:1.0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值