docker如何启动springboot(Centos8.3、docker部署springboot项目实战案例分析)
docker如何启动springboot
Centos8.3、docker部署springboot项目实战案例分析引言目前k8s很是火热,我也特意买了本书去学习了一下,但是k8s动辄都是成百上千的服务器运维,对只有几台服务器的应用来说使用k8s就有点像大炮打蚊子。只有几台服务器的应用运维使用传统的tomcat部署很繁琐,效率不高,动辄十几分钟部署一台服务,使用jenkins部署又太过复杂,斟酌许久我还是选择了使用docker+dockerFile的方式部署。这种方式部署简单高效。
docker安装curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun #一键安装脚本 systemctl enable docker.service #设置docker开机启动 systemctl restart docker.service #启动docker服务
编辑/usr/lib/systemd/system/docker.service文件添加-Htcp://0.0.0.0:12375 -H unix://var/run/docker.sock 如下图:
保存文件后重新加载配置然后重新启动
systemctl daemon-reload # 重新加载配置 systemctl restart docker.service # 重启docker服务
注意:-Htcp://0.0.0.0:12375 这句话的意思任意ip都可以使用tcp访问这个端口可以根据实际情况匹配IP。因为这里没有token或者密钥所以要特别注意如果使用云服务器那么强烈建议这里设置为安全组IP白名单访问。我当初在测试环境使用docker发布三四个小时就被人攻击了不过当初我是用的2375端口,这个端口特别容易被攻击。
配置IDEAdocker环境idea安装docker环境插件如下图:
安装完成后重启idea然后打开springboot项目,在根目录创建Dockerfile文件。如下图:
编辑Dockerfile如下:
FROM openjdk:11 # 镜像是从 openjdk:11-jdk-alpin 继承而来的 VOLUME /root/tmp # 表示挂载了 /root/tmp 目录到容器中 ADD build/libs/brief-plus-0.0.1-SNAPSHOT.jar apprun.jar # 将bootJar 添加到镜像中根目录下 命令为 apprun.jar ENTRYPOINT ["java","-jar","/apprun.jar"] # ENTRYPOINT 在容器启动后执行 java 命令来运行程序 # 设置容器时间 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # ======= 其它的一些Dockerfile命令 ========== 这里我们没有用到不过还是提一下 #COPY package.json /usr/src/app/ #ADD 更高级的复制文件 #ADD 指令和 COPY 的格式和性质基本一致。但是在 COPY 基础上增加了一些功能。 #CMD 指令就是用于指定默认的容器主进程的启动命令的。 #ENV 设置环境变量 #HEALTHCHECK 健康检查 #EXPOSE 指令是声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务 EXPOSE 8090
主要注意build/libs/brief-plus-0.0.1-SNAPSHOT.jar apprun.jar 这句话。 我是用的gradle编译后的文件位于build/libs/ 目录下 如下图:
maven编译后的文件位于target目录下如下图:
Dockerfile是根据具体的目录和打包后的名称来获取生成镜像文件所以这里一定不能出错。
配置Docker服务配置运行环境
创建一个tcp连接服务
3.配置发布到docker的服务
绑定端口ip的详细配置
打包发布
心得建议1.docker的镜像文件会分块,每块都有自己的签名,每次上传会进行对比差异的文件才会重新上传。
2.每次上传的时候记得更改标签方便根据标签进行回滚。
3.修改服务器的网络配置、防火墙需要重启docker服务。
docker 常用命令:
重启docker
systemctl restart docker # 重启docker服务 systemctl daemon-reload # 重新加载docker配置
查看30分钟内的日志
docker logs --since 30m id
以上就是Centos8.3、docker部署springboot项目实战记录的详细内容,更多关于docker部署springboot项目的资料请关注开心学习网其它相关文章!
- docker执行shell脚本(基于Docker搭建ELK 日志系统的方法)
- docker-compose 原理(详解docker compose 用法)
- 无法访问docker容器内的端口(docker端口映射及外部无法访问问题)
- docker怎么解决隔离性问题(docker启动ES内存溢出的解决方案)
- docker配置redis集群(基于Docker搭建Redis主从集群的实现)
- docker查看管理配置信息(Docker Secret的管理和使用详解)
- dockernginx服务器教程(Docker镜像+nginx 部署 vue 项目的方法)
- docker如何查看容器目录(docker 查看容器的挂载目录操作)
- docker镜像配置的挂载路径(解决docker挂载的目录无法读写问题)
- 解决docker的tls(ssl)证书过期问题(解决docker的tlsssl证书过期问题)
- docker-compose 开发代码(Docker Compose多容器部署的实现)
- docker中搭建jmeter测试环境(借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程)
- docker端口访问不了(docker设置了端口映射,不能访问的解决方案)
- linuxdocker启动报错提示参数无效(docker 报错 Exited 1 4 minutes ago的原因分析)
- docker 部署netcore(关于Jenkins + Docker + ASP.NET Core自动化部署的问题避免踩坑)
- docker 运行容器命令详细参数详解(Docker Hub运行原理及实现过程解析)
- 15个新成 园 位置公布 深圳龙岗2022年共建花园建设又有大动作(15个新成园位置公布)
- 记者手记 书记带我去 巡街(记者手记书记带我去)
- 富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元 | 美通社(富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元)
- 二次创业 的富士胶片,在进博会上首次展示完成转型后的全线医疗产品(二次创业的富士胶片)
- 富士胶片 中国 我们对上海的信心没有任何改变(富士胶片中国)
- 赢麻了 富士公布2021年度财报 营利同比增长240(富士公布2021年度财报)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9