浅析SpringBoot打包上传到docker并实现多实例部署(IDEA版)_docker

来源:脚本之家  责任编辑:小易  

新建一个类或者让主方法的类继承SpringBootServletInitializer,重写configure方法,Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application){return application.sources(application.Class);}private static Class<ServletInitializer>applicationClass=ServletInitializer.class;pom添加依赖org.springframework.boot</groupId>->spring-boot-starter-tomcat</artifactId>->provided</scope>->packaging改成warwww.zgxue.com防采集请勿采集本网。

最近有一个朋友问我有没有玩过docker,回答起来底气不是很足 ^ - ^ (刚开始玩cloud的时候接触过,玩过一会,后面在实际开发中比较少用,所以基本上可以说是忘记了.),今天花了点时间整理之前的笔记以及整理走一个流程,记录一下吧,下次玩得时候C V 就好啦~

用maven打包,可以打包成jar或者war。spring-boot-maven-plugin true org.apache.maven.plugins maven-jar-plugin

1. Docker的安装以及开启远程访问

初次安装部署好docker后,大多数镜像可以从DockerHub提取,但是大多数人都希望自己可以完全自定义一个镜像,那么这里需要一个第三方工具febootstrapepel6的源提供febootstrap的RPM

1.1 安装

一、创建基于Spring Boot框架的可执行Jar包 二、创建Docker镜像

# 检查虚拟机内核版本,必须是3.10及以上uname -r# 安装dockeryum install docker# 输入y确认安装# 启动dockersystemctl start docker# 查看docker版本docker -v# 开机启动dockersystemctl enable docker# 停止dockersystemctl stop docker# 重启dockersystemctl restart docker

在使用Docker时,构建自己的镜像之前,最好在Docker Hub寻找一些可以直接使用的镜像做练习。把软件架构分布到一系列容器中,每一个容器只做一件事情,这样的效果非常好。构建分布式应用的最好的

1.2 开启远程访问

服务器上是需要配置Maven环境,因为在部署项目时可能会下载一些依赖包。

修改文件 docker.service

vim /usr/lib/systemd/system/docker.service

修改ExecStart这行

#ExecStart=/usr/bin/dockerd -H fd://–containerd=/run/containerd/containerd.sock

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

# 重新加载配置文件systemctl daemon-reload # 重启服务systemctl restart docker.service # 查看端口是否开启 (如果是阿里云等服务器,需要 "安全" -> "防火墙" 开启端口2375)netstat -nlpt# 查看是否生效curl http://127.0.0.1:2375/info

2. IDEA 安装 docker 插件并且连接

2.1 安装插件

这个很简单,就一步一步截图了。。。(这个谁呀,怎么使用汉化的的 IDEA 呀~~)

在这里插入图片描述

2.2 连接docker

在这里插入图片描述

3. 打jar包并且编写Dockerfile打jar这个在这里不赘述。。。编写Dockerfile,注意一下划线的地方,然后注意修改一下

在这里插入图片描述

FROM java:8# 维护者信息MAINTAINER houyu# 这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层VOLUME /tmp# 复制上下文目录下的 /build/libs/fastboot-0.0.1.jar 到容器里COPY /build/libs/fastboot-0.0.1.jar fastboot-0.0.1.jar# bash方式执行,使fastboot-0.0.1.jar可访问# RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。RUN bash -c "touch /fastboot-0.0.1.jar"# 指定时区# ENV TZ='Asia/Shanghai'# 声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务EXPOSE 10007# 指定容器启动程序及参数 <ENTRYPOINT> "<CMD>"ENTRYPOINT ["java","-jar","fastboot-0.0.1.jar", "--spring.profiles.active=prod"]

4. IDEA 配置构建镜像

4.1 配置运行脚本

在这里插入图片描述

4.2 运行脚本

在这里插入图片描述

5. 宿主机查看镜像并且确认部署成功

在这里插入图片描述

6. 部署多实例

具体的命令在后面:

在这里插入图片描述

操作脚本

# 查看镜像docker images# 查看安装的容器docker ps -a# 克隆c1726e8f3819镜像 安装成为一个fb1.2的容器# -d:后台运行# -p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口docker run --name fb1.2 -d -p 10008:10007 c1726e8f3819 # 查看安装的容器docker ps -a # 查看运行中的容器docker ps # 验证fb1.1curl 127.0.0.1:10007 # 验证fb1.2curl 127.0.0.1:10008

常用的docker命令(私人美酒)

1)、镜像操作(https://hub.docker.com/)

1、检索镜像的详细信息,如镜像的TAG。

docker search 镜像关键字    如:docker search redis

2、拉取镜像(:tag是可选的,tag表示标签,多为软件的版本,默认是latest)

docker pull registry.docker-cn.com/library/redis:5.0.3 加速拉取

docker pull 加速地址+镜像名:tag    如:docker pull redis:5.0.3

3、查看所有本地镜像

docker images

4、删除指定的本地镜像

docker rmi 镜像Id或名称   如:docker rmi Tomcat

5、重命名镜像

docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

2)、容器操作(软件镜像----运行镜像----产生一个容器)

1、搜索镜像

docker search tomcat

2、拉取镜像(:tag是可选的,tag表示标签,多为软件的版本,默认是latest)

docker pull tomcat:latest

3、根据镜像启动容器(latest可以省略,其他标签一定要加上)

-d:后台运行

-p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口

docker run --name 别名 -d 主机端口:容器内部的端口 REPOSITORY/IMAGE ID

如:docker run --name mytomcat -d 8080:8080 tomcat:latest

3.1 重启容器

docker restart 容器名称/ID

4、查看运行中的容器

docker ps

5、查看所有已安装的容器

docker ps -a

6、停止运行中的容器

docker stop 容器的id/名称

7、启动容器

docker start 容器的id/名称

8、删除一个容器

docker rm 容器的id/名称

9、查看容器的日志

docker logs container-name/container-id(容器名称或容器ID)

10、进入指定容器空间

docker exec -it 容器名称/ID /bin/bash

如:docker exec -it tensquare_es /bin/bash

7. 安全问题请不要在线上环境开启docker远程访问,否则可能会被当做肉机

具体可阅 Docker暴露2375端口导致服务器被攻击解决方法!

到此这篇关于浅析SpringBoot打包上传到docker并实现多实例部署(IDEA版)的文章就介绍到这了,更多相关spring boot 打包上传docker内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

启动了就可以访问的,没问题啊,你看看你的网络是不是正常的额内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 如何把vuejs打包出来的文件整合到springboot里
  • springboot打包部署到linux服务器的方法
  • 基于spring-boot和docker-java实现对docker容器的动态管理和监控功能[附完整源码下载]
  • springboot整合docker部署实现两种构建docker镜像方式
  • springboot项目打war包docker包找不到resource下静态资源的解决方案
  • 基于docker快速搭建elk的方法
  • docker拉取镜像查看版本的方法步骤
  • docker守护进程的配置和操作的方法
  • 浅析springboot打包上传到docker并实现多实例部署(idea版)
  • 用docker搭建selenium grid分布式环境实践之路
  • docker cgroup 资源监控的详解
  • docker为网络bridge模式指定容器ip的方法
  • docker集群的创建与管理实例详解
  • docker常用的清除容器镜像命令小结
  • docker安装redmine步骤
  • spring-boot项目打包的jar包怎么部署到linux上,并运行啊!
  • maven下含有jsp的spring boot项目如何打包?
  • spring boot怎么打包部署
  • spring boot 怎么打包
  • spring boot 怎么打包
  • 怎么把spring boot打包成镜像部署到docker
  • spring boot打包怎么使用
  • 怎么把spring boot打包成镜像部署到docker
  • 怎么把spring boot打包成镜像部署到docker
  • spring boot 结合什么前端框架
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云计算技术云其它首页服务器云和虚拟化docker如何把vuejs打包出来的文件整合到springboot里springboot打包部署到linux服务器的方法基于spring-boot和docker-java实现对docker容器的动态管理和监控功能[附完整源码下载]springboot整合docker部署实现两种构建docker镜像方式springboot项目打war包docker包找不到resource下静态资源的解决方案基于docker快速搭建elk的方法docker拉取镜像查看版本的方法步骤docker守护进程的配置和操作的方法浅析springboot打包上传到docker并实现多实例部署(idea版)用docker搭建selenium grid分布式环境实践之路docker cgroup 资源监控的详解docker为网络bridge模式指定容器ip的方法docker集群的创建与管理实例详解docker常用的清除容器镜像命令小结docker安装redmine步骤docker 给运行中的容器设置端口映docker 清理命令集锦docker获取镜像报错docker: erroubuntu14.04+docker的安装及使用docker.service启动失败:unit ndocker容器如何优雅的终止详解浅谈docker-compose网络设置之necentos7 安装docker 解决启动不了详解docker国内镜像拉取和镜像加docker如何固定ip设置的方法解决执行docker daemon命令时出错的问题docker仓库常用命令详解docker新手实践及部署nginx的步骤详解mac下安装docker教程docker aufs存储驱动layer、diff、mnt目录ubuntu docker 安装教程详细记一次docker部署服务的爬坑历程docker同时安装mysql和mariadb的方法步骤详解mac osx docker开发环境搭建centos7安装使用docker的步骤
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved