1、本次镜像的基础镜像是:https://www.cnblogs.com/JoeyWong/p/9173265.html

2、将打包好的项目文件放在与Dockerfile同级的目录下

3、Dockerfile 如下:

# Base os image
FROM centos:jdk8
MAINTAINER Joey <your email>
LABEL Description="This image is javaweb images." Version="1.0" #java web
RUN mkdir /home/data #将项目文件从本地传到镜像中
ADD javaweb-package.zip /home/data #解压项目 解压后删除多余文件
RUN unzip /home/data/javaweb-package.zip -d /home/data/ && rm -rf /home/data/javaweb-package.zip #授权
RUN chmod -R +x /home/data/javaweb-1.0 #开放8080端口
EXPOSE 8080 #在启动后执行web项目的启动脚本
ENTRYPOINT ["sh","/home/data/javaweb-1.0/start.sh"]

4、注意点:

  1、项目的解压路径,一开始的时候我没有将项目解压到指定路径,然后生成的镜像中项目都被解压到了 / 目录下,以至于项目始终运行错误

  2、在最后启动后运行项目启动脚本的时候,我的脚本中使用了nohup,后台运行,所以docker run之后 容器就退出运行!!于是我在我的start.sh的脚本末尾添加了tail -f $PRG_DIR/log.log 动态查看日志的命令,至此 搞定!

5、生成镜像,注意 . 很重要

docker build -t javaweb:1.0 .

6、导出镜像,其中

docker save <镜像ID>> /root/javaweb-docker.tar 

springboot项目封装为docker镜像的更多相关文章

  1. IDEA中直接将 SpringBoot项目打包成 Docker镜像时 pom.xml的配置

    <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactI ...

  2. idea使用docker-maven-plugin插件将项目编译为docker镜像到远程linux服务器 原

    在使用idea开发时,直接docker-maven-plugin插件,把项目编译成docker镜像,然后通过docker:push推送到linux服务器,非常简单,快捷,也避免了手动打包,然后拷贝wa ...

  3. docker 运行jenkins及vue项目与springboot项目(一.安装docker)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  4. 把java(springboot)程序打包docker镜像

    前言:要在docker运行java(jar包)程序,就要把程序打包成docker镜像(以下简称镜像),可以先理解为镜像就是jar包 打包需要程序代码,java本身的打包环境(包括jdk和maven), ...

  5. springboot程序构建一个docker镜像(十一)

    准备工作 环境: linux环境或mac,不要用windows jdk 8 maven 3.0 docker 对docker一无所知的看docker教程. 创建一个springboot工程 引入web ...

  6. Spring Boot教程(十一) springboot程序构建一个docker镜像

    准备工作 环境: linux环境或mac,不要用windows jdk 8 maven 3.0 docker 对docker一无所知的看docker教程. 创建一个springboot工程 引入web ...

  7. 使用jib-maven-plugin将Spring Boot项目发布为Docker镜像

    目录 介绍 使用 总结 介绍 将spring boot(cloud)项目发布到docker环境作为镜像,一般常用的一个是com.spotify的docker-maven-plugin这个maven插件 ...

  8. 将java项目打包成docker镜像

    简介:将jar打包成镜像好说,毕竟jar包长的都是一样的,但是我们只是写了一个普通的java项目,我也不方便封装成jar包什么的,但是我们也想打包docker image怎么办呢,我们可以用编译后的j ...

  9. 将java项目打包成docker镜像:镜像=副本

    简介:将jar打包成镜像好说,毕竟jar包长的都是一样的,但是我们只是写了一个普通的java项目,我也不方便封装成jar包什么的,但是我们也想打包docker image怎么办呢,我们可以用编译后的j ...

随机推荐

  1. Ubuntu中打开RAR文件

    在安装完ubuntu后,默认是不支持RAR文档的,当用鼠标双击一个RAR文档的时候会给我们上面的提示! 如果想打开RAR的文档就需要安装一个RAR解析,方法是打开终端,输入: 复制代码代码如下: su ...

  2. Updates were rejected because the remote contains work that you do(gitee报错解决方案)

    今天向Gitee远程仓库提交本地项目文件时,遇到了下列错误,很是郁闷 正在推送 1203笔记本Error: failed to push some refs to 'https://gitee.com ...

  3. redis 对 key 的操作

    keys * :查询当前库中所有的 key keys k? :问号是占位符 del key :删除指定的 key exists k1 :判断 k1 是否存在 move k1 2  :(剪切) 将 k1 ...

  4. pycaffe 配置

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50967820 本文将继续接着上一篇博客 ...

  5. BA-ALC控制模块

  6. I - Agri-Net

    I - Agri-Net poj 1258 注意:多组数据输入. #include<cstdio> #include<cstring> #include<iostream ...

  7. HDU 1788

    必须MARK下:任何时候都要保持清醒头脑,不要被题目绕了.. 其实就是求最小公倍数. #include <iostream> #include <cstdio> #includ ...

  8. grpc mvn protobuf:compile 过程

    grpc mvn protobuf:compile 过程 编写代码之后,直接使用 mvn protobuf:compile会报错,木有protoc.exe文件: 可以使用Terminal输入mvn命令 ...

  9. USACO holstein 超时代码

    /* ID:kevin_s1 PROG:holstein LANG:C++ */第八组数据跪了.半天都不出结果 #include <iostream> #include <cstdi ...

  10. Linux程序设计学习笔记——异步信号处理机制

    转载请注明出处: http://blog.csdn.net/suool/article/details/38453333 Linux常见信号与处理 基本概念 Linux的信号是一种进程间异步的通信机制 ...