前言:使用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进行退出容器,这一点很重要,请牢记!
————————————————