【比赛心得】从零搭建基于docker的springboot程序应用

比赛心得:
最近参加了一个软件比赛,初步搭建了基于springboot的小型软件,有一些知识需要进行知识蒸馏,方便以后查询和使用。

需求

需求:
1.用户登录 ,传token id 给前端
2.用户注册,传回json数据,发送验证码;重复提交数据情况下,返回状态码
3.验证码检查,返回Ture False ;

Java SpringBoot 相关

Docker 服务相关

查看虚拟机的ip地址,使用ssh命令连接:如何查看虚拟机ip ip addr ifconfig查看ip, centos的ip地址是ens33条目中的inet值。

docker常用命令

docker 删除已经停止的镜像

docker rm name 

使用docker 启动mysql

查看dockerhub中是否有mysql的镜像:

docker search mysql

拉取tag为5.6的mysql镜像到本地

docker pull mysql:5.6

创建挂载到外部的目录文件:
mkdir /opt/webMysql/conf
mkdir /opt/webMysql/data
查看本地镜像
使用以下命令来查看是否已安装了 mysql:

$ docker images
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。

配置mysql允许root远程登录
grant all privileges on . to root@’%’ identified by “123456”;
flush privileges;

docker start 

docker 运行命令解析

sudo docker run -p 8080:8080 --name  tongjitwins -v /home/ls/TongjiTwins/:/home/ -v /home/ls/TongjiTwins/config/:/config -it java java -jar /home/TongjiCampus-1.0-SNAPSHOT.jar


-d 表示在后台启动
-p 外部端口:你的配置文件中的端口 
-v /home/server/deploy/jar:/usr/jar 表示将宿主主机的jar目录,映射到容器中(分号前为宿主主机的路径,分号后为容器中的路径)
-v /project(你的jar包和配置文件的所在目录比如文件在/project/Hellword.jar,我就把project文件挂载进去就可以了):/home(容器的路径,我直接放到了home下) 
--name Hellword java(这个java指的是容器的名字) java 
-jar /home/Hellword.jar   表示运行jar包,注意:这里的jar包为容器中的位置,是通过前面的-v属性映射的
--spring.profiles.active=local ,

docker的网络bridge模式

在docker 中将接口暴露出来使用

-p 即可。

1.创建一个bridge模式的网络
[root@server1 ~]# docker network create --driver bridge my_net1

2.当我们创建好自定义网络后,自定为起分配IP网段和网关
docker network inspect my_net1 
 "Subnet": "172.18.0.0/16",
 "Gateway": "172.18.0.1"

3.再创建一个bridge的网络,自定义ip和网关
docker network create --driver bridge --subnet 172.20.0.0/24 --gateway 172.20.0.1 my_net2
   "Subnet": "172.20.0.0/24",
   "Gateway": "172.20.0.1"
docker network create --driver bridge --subnet 172.22.0.0/28 --gateway 172.22.0.1 my_net3
   "Subnet": "172.22.0.0/28",
   "Gateway": "172.22.0.1"

4.使用刚刚创建的网络建立容器
docker run -it --name vm1 --network=my_net1 ubuntu

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=ls0411. -d mysql
docker run  -i -t -d -p 6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data redis redis-server /etc/redis/redis.conf --network=my_net2
sudo docker run -p 8080:8080 --name  tongjitwins -v /home/ls/TongjiTwins/:/home/ -v /home/ls/TongjiTwins/config/:/config -it java java -jar /home/TongjiCampus-1.0-SNAPSHOT.jar --network=my_net3
5. 建立两个容器连接

docker network connect my_net1  tongjitwins

参考链接

Docker网络——实现容器间通信、容器与外网通信以及容器的跨主机访问
在服务器上部署java 程序
springboot利用spring.profiles.active=@spring.active@不同环境下灵活切换配置文件
docker java -jar_使用Docker安装Java镜像运行jar包方法
linux安装java_Linux开发环境配置——java
docker中容器之间通信方式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和你在一起^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值