springboot打包docker镜像部署

环境准备

机器 vultr一台,centos7

资源下载

  1. jdk8
  2. maven
  3. git yum install git
  4. docker yum install docker-io

环境搭建

jdk,maven

1.解压资源
tar -zxvf jdk8.tar.gz
tar -zxvf apache-maven-3.3.9-bin.tar.gz2.配置环境变量
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>

配置解释

  1. imageName镜像名称
  2. dockerDirectory Dockerfile位置
  3. 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"]

配置解释

  1. VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
  2. 项目的 jar 文件作为 "app.jar" 添加到容器的
  3. 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>

参考

  1. 常用docker命令,及一些坑
  2. 用 Docker 构建、运行、发布一个 Spring Boot 应用

转载于:https://my.oschina.net/u/2529405/blog/840132

springboot打包docker镜像部署相关推荐

  1. SpringBoot打包docker镜像并桥接mysql(windows版)

    文章目录 docker建立桥bridge SpringBoot项目配置文件调整 idea增加插件 增加Dockerfile文件 docker上管理端口的暴露 idea连接docker 构建 Docke ...

  2. docker入门,镜像,容器,数据卷,dockerfile,docker网络,springboot微服务打包docker镜像[狂神yyds]

    docker学习大纲 docker概述 docker安装 docker命令 镜像命令 容器命令 操作命令 - docker镜像 容器数据卷 dockerfile docker网络原理 IDEA整合do ...

  3. 打包docker镜像,推送远程服务器,部署到k8s步骤

    打包docker镜像 前提条件 1.docker服务器已开启远程访问,参考<远程docker服务器携带证书连接>. 2.服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试. 在之前 ...

  4. 打包docker镜像推送到远程服务器并部署到k8s

    前提条件: 1.docker服务器已开启远程访问,参考<远程docker服务器携带证书连接>. 2.服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试. 在之前的文章中我们已经通过 ...

  5. BI系统打包Docker镜像及部署的技术难度和实现

    BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置n ...

  6. Springboot项目使用Idea直接生成docker镜像部署到Centos7.6

    废话不多说,直接开干: 1.开放docker仓库访问地址: #输入此命令设置docker.service的仓库访问端口,ExecStart项添加:-H tcp://0.0.0.0:2375vim /u ...

  7. Docker基础篇 - (六)Docker 网络Spring Boot微服务打包Docker镜像

    ⑦ Docker 网络 7.1 理解Docker0 清空下前面的docker 镜像.容器 # 删除全部容器 [root@cVzhanshi tomcat-diy]# docker rm -f $(do ...

  8. Spring Boot项目打包Docker镜像

    Spring Boot项目打包Docker镜像 1.编写 Dockerfile 文件 2.加入 spring boot 根路径, 进行 mvn package 打包 3.打包上传项目并解压 4.进入 ...

  9. IDEA 打包docker镜像(以打包Jdk8为例)

    目录 1.Idea项目中准备jdk8打包docker镜像的相关文件 2.编写Dockeffile文件 3.编辑Configurations 添加Dockerfile 4.创建镜像 Idea中docke ...

最新文章

  1. WIN下Nginx缓存加速配置方法
  2. MAT之GA:利用GA对一元函数进行优化过程,求x∈(0,10)中y的最大值
  3. 搞懂深浅拷贝JavaScript内存之栈和堆
  4. 6-Qt6对象树及内存管理
  5. 各互联网公司面试题整理
  6. 【蓝桥杯】基础练习 十六进制转八进制(Java实现)
  7. 【阿里妈妈营销科学系列】第五篇:多渠道组合路径效率评价
  8. docker 修改阿里镜像源_使用阿里云容器镜像服务托管私有Docker镜像
  9. 模块(module)
  10. 【java实现点卡生成】
  11. linux交叉编译jpeg,libjpeg的交叉编译以及jpeg图片的缩放(缩略图)
  12. C语言程序设计(第三版)何钦铭著 习题2-1
  13. mysql sql 字符串拼接_深入讲解SQL中的字符串拼接
  14. android通电自动开机,【图】改造导航仪,实现通电自动开机!
  15. [译]ng指令中的compile与link函数解析 转
  16. 不知道视频怎样提取音频?这里有详细教程分享
  17. 计算机领域会议期刊,数据挖掘等计算机领域顶级会议期刊~(转)
  18. Chrome with proxy
  19. An infrared and visible image fusion algorithm based on ResNet‑152
  20. 阿德莱德大学语言班成绩为C,留学攻略—阿德莱德大学语言班

热门文章

  1. rosdep update 使用小鱼fishros解决ros1/ros2问题 2022
  2. java爬网页图片到本地
  3. 我叫mt4最新服务器,我叫mt4新区开服表 最新新区开服时间汇总分享[多图]
  4. GPT-3的50种玩法告诉你,它很酷,但是没有通过图灵测试
  5. Origin 2017调整画布和图表的尺寸大小
  6. 最强国产开源电子表格-Luckysheet,强势登顶Github trending第一名!
  7. 匹配的通配符很全面,但无法找到元素mvc:annotation-driven的声明
  8. 阿里云服务器设置swap交换分区
  9. 19c 单实例打补丁
  10. 数据无界·存储无疆:大数据时代下,闪存已经势不可挡