springboot打包docker镜像部署
springboot打包docker镜像部署
环境准备
机器 vultr一台,centos7
资源下载
jdk8
maven
git yum install git
docker yum install docker-io
环境搭建
jdk,maven
1.解压资源 tar -zxvf jdk8.tar.gz tar -zxvf apache-maven-3.3.9-bin.tar.gz 2.配置环境变量 vim /etc/profile export JAVA_HOME=/root/jdk8 export MAVEN_HOME=/root/apache-maven-3.3.9 export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH 3.资源生效 source /etc/profile
项目准备(使用现有项目)
pan-search-springboot pom.xml新增docker配置
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.3</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </plugin>
配置解释
imageName镜像名称
dockerDirectory Dockerfile位置
resources 指那些需要和 Dockerfile 放在一起,在构建镜像时使用的文件,一般应用 jar 包需要纳入。本例,只需一个 jar 文件 Dockerfile定义 /src/main/docker/Dockerfile
FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD docker-spring-boot-1.0.0.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
配置解释
VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
项目的 jar 文件作为 "app.jar" 添加到容器的
ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 "/dev/urandom" 作为 Entropy Source
构建dockerImage
项目根路径下执行 mvn package docker:build
运行docker
docker run -p 8080:8080 -t kite/pan-search-springboot
打包上传
账号注册
register
登陆
docker login
上传
docker push kitesweet/pan-search-springboot
拉取镜像
docker pull kitesweet/pan-search-springboot
常用docker命令
查看 docker ps docker ps -a为查看所有的容器,包括已经停止的 删除所有容器 docker rm $(docker ps -a -q) 删除单个容器 docker rm <容器名orID> 停止、启动、杀死一个容器 docker stop <容器名orID> docker start <容器名orID> docker kill <容器名orID> 查看所有镜像 docker images 查看容器日志 docker logs -f <容器名orID>
文章转自:https://my.oschina.net/u/2529405/blog/840132
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
zabbix实战--Zabbix 自动发现、自动注册
龙果运维平台开源地址:https://github.com/roncoo/roncoo-cmdb Zabbix3.0入门到生产环境应用实战:http://www.roncoo.com/course/view/fb3050a5b34b42f39ccad83ebebc89c1 一、软件版本 操作系统:CentOS-6.5-x86_64 zabbix版本:3.0.3 二、实现目标: 1、能够发现网络内主机。并且添加相应主机模板。 2、主机是去自动移除主机。 3、主机上线自动添加主机。 三、基于发现规则的条件: 1、IP地址段 2、基于服务器,比如说FTP、SSH、WEB等 3、基于zabbix-Agent 4、还有snmp 四、配置发现主机添加模板: 1、定义发现规则: 配置--》自动发现--》创建自动发现规则。 *IP范围为agent地址发现的范围,延迟最好设置时间够长,这里设置30s只是为了方便测试。(定义IP范围,咱们可以定义不同应用添加不同模板) 2、定义发现后执行的动作(添加主机模板等操作): 配置--》动作--》创建自动发现动作: 条件选型卡: 1、选择我...
- 下一篇
SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
样例参考视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 CI服务器:192.168.4.221 root用户操作 建议安装前更新操作系统 # yum update 更新完成后重启 # reboot 安装apache # yum install httpd httpd-devel # service httpd start # chkconfig httpd on # vi /etc/httpd/conf/httpd.conf 找到 ServerName 并修改成 ServerName localhost:80 防火墙中打开80端口: # vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # service iptables restart http://192.168.4.221/ 安装SVN服务 # yum in...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度