Centos7使用docker部署springboot项目

前言:使用vm安装好centos和网络、java8等。

一.准备好springboot.jar

mvn clean

mvn package

使用maven命令打包jar

二.将文件放入centos7的文件夹中

1.使用MobaXterm_Personal_20.2(使用ip addr 查看虚拟机的ip,密码root123456,默认端口22)连接虚拟机上传文件,/home/cxb文件夹下,将文件名hello-0.0.1-SNAPSHOT.jar重命名为hello.jar

2.同目录下vi Dockerfile

FROM java:8
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD hello.jar app.jar 
ENTRYPOINT ["java","-jar","/app.jar"]  

2.1 进入编辑模式,按 o 进行编辑

编辑结束,按ESC 键 跳到命令模式,然后输入退出命令:

:w保存文件但不退出vi 编辑

:w! 强制保存,不退出vi 编辑

:w file将修改另存到file中,不退出vi 编辑

:wq保存文件并退出vi 编辑

:wq!强制保存文件并退出vi 编辑

q:不保存文件并退出vi 编辑

:q!不保存文件并强制退出vi 编辑

:e!放弃所有修改,从上次保存文件开始在编辑

三.制作镜像 (cxb为自己随便起的镜像名称,注意最后有点.)

docker build -t cxb .

四.启动容器镜像

docker run -p 8080:8080 cxb

第一个8080是容器里面暴露的端口,后面的8080是springboot的默认端口

这种启动方式不是后台启动的,如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器,这一点很重要,请牢记!

centos的ip:命令:ip addr 查看ip 192.168.3.85

4.1 后台启动容器

docker run --name nick-name-cxb -d -p 8071:8080 cxb

--name 知道容器启动的昵称别名 -d 后台启动  8071容器暴露的端口  cxb上面生成的镜像名

小插曲:(Docker之WARNING: IPv4 forwarding is disabled. Networking will not work.)

我装完了Docker,然后启动镜像,发现没有网络,而且不能ifconfig,当时就淡腾了后来查找资料发现,是没有开启转发,网桥配置完后,需要开启转发,不然容器启动后,就会没有网络,配置/etc/sysctl.conf,添加net.ipv4.ip_forward=1

配置转发
vim /etc/sysctl.conf

#配置转发
net.ipv4.ip_forward=1

#重启服务,让配置生效
systemctl restart network

#查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功

sysctl net.ipv4.ip_forward

配置成功,可以看到配置信息。

检查容器是否正常访问网络
#重启docker服务
service docker restart 

#查看运行过的容器
docker ps -a

#启动gitlab 容器
docker start gitblab2 

#进入gitlab容器
docker attach gitlab2

#获取百度信息
curl baidu.com

最后:如果还是访问不了,查看一下是否关闭了防火墙!!!

1.查看端口:
netstat -lnp|grep 8088

2.关闭进程
kill -9 进程号

3.关闭防火墙
systemctl stop firewalld.service    

4.查看防火墙状态
systemctl status firewalld.service

5.退出docker容器
如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器,这一点很重要,请牢记!
————————————————

猜你喜欢

转载自blog.csdn.net/qq_33371766/article/details/115772551