• 首先在idea中创建springboot项目,pom文件packaging 为jar ,然后编写接口。
  • 编写Dockerfile 注意Dockerfile只能这样命名。
  • 使用maven打包命令或者使用idea打包插件都行

mvn clean package -Dmaven.test.skip=true

*也可以使用idea插件,点击右侧maven插件 -> package

  • 打包成功后会在target目录下生成jar包

Dockerfile sh

FROM java:8
MAINTAINER author <xxx@qq.com> ENV TZ=Asia/Shanghai VOLUME /tmp COPY target/*.jar app.jar RUN echo $(date) > /image_built_at ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  • 然后编写启动脚本

#源jar路径
SOURCE_PATH=/usr/local/docker
#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=springboot-0.0.1.jar
TAG=latest
SERVER_PORT=8080
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME:$TAG" | awk '{print $3}')
if [ -n "$CID" ]; then
echo "存在容器$SERVER_NAME, CID-$CID"
docker stop $SERVER_NAME
docker rm $SERVER_NAME
fi
# 构建docker镜像
if [ -n "$IID" ]; then
echo "存在$SERVER_NAME:$TAG镜像,IID=$IID"
docker rmi $SERVER_NAME:$TAG
else
echo "不存在$SERVER_NAME:$TAG镜像,开始构建镜像"
cd $SOURCE_PATH
docker build -t $SERVER_NAME:$TAG .
fi
# 运行docker容器
docker run --name $SERVER_NAME -v /usr/local/upload:/usr/local/upload -d -p $SERVER_PORT:$SERVER_PORT $SERVER_NAME:$TAG
echo "$SERVER_NAME容器创建完成"
  • 把脚本和jar 还有Dockerfile 上传到/usr/local/docker下(手动创建文件夹)

  • 然后在/usr/local/docker 下 执行构建镜像

sh ./blog-start.sh 

  • 查看docker容器运行日志
docker logs -f -t  --tail=100 CONTAINER_ID //容器id
  • 然后如果你是腾讯云或者阿里云记得把端口的防火墙打开,然后等待构建完毕后在浏览器中进行访问接口。

springboot docker打包镜像的更多相关文章

  1. SpringBoot 部署 docker 打包镜像

    SpringBoot 部署 docker 打包镜像 环境: 1.代码编写工具:IDEA 2.打包:maven 3.docker 4.linux 7.JDK1.8 8.Xshell 9.Xftp 第一步 ...

  2. 生产环境项目问题记录系列(二):Docker打包镜像Nuget包因权限问题还原失败

    docker打包镜像遇到一个因为nuget权限验证问题导致镜像打包失败的问题,公司Nuget包用的是tfs管理的,tfs有权限验证,结果导致nuget还原失败,原有的NuGet.config文件如下: ...

  3. Docker打包镜像并上传

    Docker打包镜像并上传 登录 账号 docker login --username=yourusername 密码 yourPassword 推送到仓库 docker镜像打标签 docker ta ...

  4. docker(常见调试技巧):docker打包镜像调试技巧

    写Dockerfile可以先不指定CMD.ENTRYPOINT等启动命令,只要拷贝就好了 如下: # Dockerfile for basic-app-client # Build with: # d ...

  5. Ubuntu上使用Docker打包镜像

    关于这个一开始会有点懵,直白一点就是,把本地路径下的代码放到docker里面去,然后在docker这个隔离环境中运行调用我们的程序.专业解释请自行检索学习. 第一步:创建容器 docker run - ...

  6. docker打包镜像,测试部署

    docker基本入门以后,(docker基本入门https://www.cnblogs.com/yangyangming/p/11470926.html)可以试试打包docker镜像与dockerfi ...

  7. net core 程序docker打包镜像并发布到官方store

    学习一个技术的第一步,总是要先打印或显示一个hello world的.当然,学习docker也不例外.上一篇文章已经简单的介绍了环境的安装和配置.接下来就要打印我们的hello world了. 首先我 ...

  8. Jenkins集成Docker实现镜像构建和线上发布

    原文地址:http://www.cnblogs.com/keithtt/p/6410229.html 大概过程如下图: 由于需要用到docker打包镜像,jenkins宿主机上需要安装docker,原 ...

  9. windows环境下,spring boot服务使用docker打包成镜像并推送到云服务器私有仓库

    最近在淘宝上学习springcloud教程,其中有几节课是讲解讲本地springboot服务打包成镜像并推送到云服务器私有仓库,但是教程里面用的事Mac环境,我的是Windows环境,而且课程里面没有 ...

  10. 手把手使用Docker搭建SpringBoot微服务镜像

    一.环境准备 1.安装好Docker环境的Linux机器(安装教程) 2.准备好SpringBoot项目打包好的可运行jar包 二.编写Dockerfile 1.首先将SpringBoot打包好的ja ...

随机推荐

  1. .NET 6学习笔记(7)——ASP.NET Core通过配置文件启用HTTPS

    本质上我还是一个Windows App Developer,所以虽然会做一些ASP.NET Core的工作,但通常这些ASP.NET Core的程序会托管在Windows Service上,并且大部分 ...

  2. JAVA虚拟机16-方法的动态调用

    更详细:https://www.cnblogs.com/jthr/p/15762527.html 1.子类重写父类方法 1.1父类 public class Father { public int n ...

  3. 接口介绍以及postman的基本使用

    集成测试--测试接口 接口测试也是在测试执行阶段做 一.什么是接口 软件的不同模块之间互相发送数据的一个通道 二.接口的组成 1.请求URL--接口地址2.请求类型 get get请求的参数是暴露在U ...

  4. Navicat 15 or 16 永久版本(window和Mac)

    一.下载Navicat Premium 官网https://www.navicat.com.cn/下载最新版本下载安装 链接包含(window激活包和Mac版本,请选择性下载): https://no ...

  5. IoT 边缘集群基于 Kubernetes Events 的告警通知实现(二):进一步配置

    上一篇文章 IoT 边缘集群基于 Kubernetes Events 的告警通知实现 目标 告警恢复通知 - 经过评估无法实现 原因: 告警和恢复是单独完全不相关的事件, 告警是 Warning 级别 ...

  6. Centos7搭建hadoop3.3.4分布式集群

    目录 1.背景 2.集群规划 2.1 hdfs集群规划 2.2 yarn集群规划 3.集群搭建步骤 3.1 安装JDK 3.2 修改主机名和host映射 3.3 配置时间同步 3.4 关闭防火墙 3. ...

  7. 图解论文《The Part-Time Parliament》

    本文以图文并茂的方式重新演绎 Paxos 开山之作 <The Part-Time Parliament>[1],并尝试解释原论文中语焉不详的地方. 背景 在 Paxos 小岛上,施行着一种 ...

  8. TCP/IP 协议(10):TCP 协议一百问

    TCP/IP 协议(10):TCP 协议一百问 杨领well 的 TCP/IP 协议专栏 TCP 协议部分一直没有更新,是因为我不确定到底应该怎么来介绍 TCP 协议才能干货满满.最后我决定以 Q&a ...

  9. Bulldog

    Bulldog 目录 Bulldog 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 Web-Shell利用 2.1 尝试命令执行 2.2 尝试利用系统命令注入 2.3 ...

  10. C#本地时间转Unix时间

    获取Unix时间最高效的方法 /// <summary> /// 扩展方法, 本地时间转Unix时间; (如 本地时间 "2020-01-01 20:20:10" 转换 ...