这篇“Docker怎么部署springboot项目到腾讯云”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker怎么部署springboot项目到腾讯云”文章吧。
服务器的配置
服务器配置总结为三个,防火墙,端口,和安全组
防火墙
查看防火墙状态
firewall-cmd --state
没有开启则开启防火墙
systemctl start firewalld.service
端口
添加对外开放的端口
firewall-cmd --zone=public --add-port=端口号/tcp --permanentfirewall-cmd --zone=public --add-port=80/tcp --permanent
重新加载防火墙
firewall-cmd --reload
查看开发端口
firewall-cmd --list-ports
安全组 (云服务器才配置的,如我用的腾讯云)
安全组是一种虚拟防火墙,具备有状态的数据包过滤功能,用于设置云服务器、负载均衡、云数据库等实例的网络访问控制,控制实例级别的出入流量,是重要的网络安全隔离手段。
您可以通过配置安全组规则,允许或禁止安全组内的实例的出流量和入流量。(截取自腾讯云的文档)
安装MySql
拉取mysql版本,这里是mysql5.7
docker pull mysql:5.7
运行mysql,开放的端口是3306,密码是123456, -d是后台运行
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
1 如果报错,就重启docker
systemctl restart docker
如果还报错如:已有该容器
2 查看容器,删除容器
查看正在运行的容器:docker ps查看所有容器: docker ps –a查看最后一次运行的容器:docker ps –l查看停止的容器:docker ps -f status=exited
docker rm 容器名称(容器ID)例如:docker rm mysql
进入MySQL容器,有如下就说明mysql没有问题,安装成功!!
docker exec -it 容器id /bin/bash
ctrl+p+q可以以后台运行的方式退出这个容器
本地的MySQL可视化软件连接docker的数据库(我用的是sqlyog)
执行sql脚本,导入数据库
将springboot项目打成jar包
将applicayion.yml中的url中的localhost改成你服务器的公网ip,还有将密码改成你服务器上mysql的密码
项目打包,双击package
如下就打包成功,用的是第一个jar包。
.jar.original 是普通jar包,不包含依赖
.jar是可执行jar包,包含了pom中的所有依赖,可以直接用java -jar 命令执行
编写Dockfile文件
将springboot jar包项目打包成Docker镜像
在 /home/
下创建docker文件夹
使用xftp上传jar包到/home/docker/
下
在/home/docker
目录下,输入如下指令,开始编写Dockerfile文件
vim Dockerfile
在vim中编写如下内容保存
FROM java:8ADD Blog_jpa-0.0.1-SNAPSHOT.jar /blog.jarEXPOSE 8080ENTRYPOINT ["java","-jar","/blog.jar"]
解释:
#注意,docker命令全部大写,这是规定。# From 关键字表示,jar包依赖的环境。java:8 相当于jdk1.8FROM java:8 #ADD命令 # blog-0.0.1-SNAPSHOT.jar:这是你上传jar包的名称。# /blog.jar:这是自定义的名称。但是注意要有之前的/ADD blog-0.0.1-SNAPSHOT.jar /blog.jar #MAINTAINER 作者名称。可以删除不写。MAINTAINER zhangxiaosan #EXPOSE 项目暴露的端口号EXPOSE 8080 #/blog.jar此处的名称要和ADD命令后面的一样。ENTRYPOINT ["java","-jar","/blog.jar"]
在docker文件夹下执行如下命令,生成自定义镜像
docker build -t blog:1.0 .
解释:
说明:
blog 代表要打包成的镜像名称。按照自己实际情况写。
:1.0 代表版本号,可以不写则默认为latest
. 代表为当前目录。这就是为什么一直在步骤一文件夹中进行操作,并且Dockerfile在此文件夹中的原因。
若之前Dockerfile不在步骤一的文件夹中 则需要指定到对应的地址。
docker images
就可以查看到这个镜像已经被创建好了,然后运行这个镜像就可以。
docker run --name blog -d -p 80:8080 blog:1.0
docker logs 容器id 查看容器运行日志
部署完成!!!
访问
删除重做(更新)镜像
更新了项目,把原来部署的jar包删除,容器镜像都删除,然后将新的jar放到
/home/docker
下,在运行生成新镜像
删除原来的项目jar包的容器和镜像
可以按照镜像id删除镜像,命令如下:docker rmi 镜像ID
删除单个镜像(-f 强制删除):docker rmi -f 镜像ID
1.删除指定的容器:docker rm 容器名称(容器ID)例如:docker rm mycentos112.删除容器的时候,如果容器在运行,会报错,必须先停止容器# 查看正在运行的容器docker ps# 删除正在运行的容器docker rm mycentos11# 停止容器docker stop mycentos11启动容器docker start 容器名称(或者容器ID)例如: docker start mycentos2# 查看所有容器docker ps -a
将jar包更新后,生成新镜像
docker build -t blog:1.0 .
运行镜像
docker run --name blog -d -p 80:8080 blog:1.0
以上就是关于“Docker怎么部署springboot项目到腾讯云”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。