Docker创建一个java程序镜像

  • 什么是Dockerfile
  • 指令及其说明
  • 个人镜像创建流程
    • Dockerfile文件创建
    • 使用docker build命令构建镜像
    • 运行镜像
    • 附文件目录结构

什么是Dockerfile

Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。

指令及其说明


详情见官方文档:docker自定义镜像创建.

个人镜像创建流程

Dockerfile文件创建

  • 详细写法
# 指定基础镜像
FROM ubuntu:16.04
# 配置环境变量,JDK的安装目录
ENV JAVA_DIR=/usr/local# 拷贝jdk和java项目的包
COPY ./jdk8.tar.gz $JAVA_DIR/
COPY ./music-java.jar /tmp/app.jar# 安装JDK
RUN cd $JAVA_DIR \&& tar -xf ./jdk8.tar.gz \&& mv ./jdk1.8.0_144 ./java8# 配置环境变量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin# 暴露端口
EXPOSE 8888
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar
  • 简要写法(建议使用)
# 指定基础镜像
FROM java:8-alpine
COPY ./music-java.jar /tmp/app.jar
# 暴露端口
EXPOSE 8888
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar

使用docker build命令构建镜像

  • 指令
docker build -t music-java:1.0 .
  • 指令解读
    其中 music-java为镜像名,1.0为镜像版本号
    不要后面忘了加 .表示Dockerfile文件在当前目录下

运行镜像

  • 指令
docker run --name music -p 8888:8888 -d music-java:1.0
  • 指令解析
    --name music为给容器命一个名为music
    -p将docker容器端口与主机端口映射
    -d表示后台运行
    music-java:1.0表示镜像的名称以及版本号

附文件目录结构

Docker创建一个java程序镜像相关推荐

  1. java打印 a b c,创建一个java程序,按顺序给出3个术语作为输入(a,b,c)打印它们的根...

    Wrie a method printRoots that given 3 terms as input(a,b,c) in that order prints their roots We have ...

  2. 在docker中构建普通java程序_Docker入门-构建第一个Java程序

    原标题:Docker入门-构建第一个Java程序 定制镜像 准备一个没有第三方依赖的java web项目,可能参考示例maven结构项目: session-web.war 把该war上传到安装有doc ...

  3. Docker Java程序镜像制作

    Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64. ...

  4. Docker 3.2.10:基于 Dockerfile 制作 java 程序镜像

    3.2.10:基于 Dockerfile 制作 java 程序镜像 准备基础镜像 以 centos-tomcat:8.5.60 为基础镜像,构建业务镜像: 编写 Dockerfile 创建业务镜像的 ...

  5. docker commit (从容器创建一个新的镜像)

    从容器创建一个新的镜像 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -a :提交的镜像作者:-c :使用Dockerfile指令来创建镜像 ...

  6. java开发环境的建立过程_Java开发环境的搭建及第一个Java程序的创建

    Java的几个基本概念: JVM:Java Virtul Machine(Java虚拟机) JRE:Java Runtime Environment(Java运行时环境) JDK:Java Devel ...

  7. (开包即用,不用看代码!)借助Docker自动构建Java(Oracle)镜像

    开包即用,不用看代码! 如果着急使用可以直接使用我构建的镜像,请从配置镜像源开始看 Docker中的Java Java可能是程序员最常用的运行时环境了, 即使你不开发Java程序,大量的开发工具也需要 ...

  8. 使用docker容器运行java程序

    使用docker容器运行java程序 java 18 一.文件准备 mkdir 11 cd 11 创建并进入目录 docker pull ubuntu:22.04 wget https://downl ...

  9. 第一个java程序释义_Java 学习之路(1)第一个Java程序

    Hello World程序 在编程语言的世界里,第一个编程语言估计就是输出Hello World了吧. /** * 编写第一个Java程序,输出Hello World! * @author LJS * ...

最新文章

  1. 如何重装计算机操作系统,自己如何重装笔记本电脑操作系统呢?
  2. mediawiki安装使用
  3. java startswith忽略大小写_Java String startsWith()方法与示例
  4. 数字证书 - Java加密与安全
  5. HDU 6631 line symmetric(枚举)
  6. 在javascript中关于局部变量和全局变量简析
  7. [react-native]react-native填坑笔记
  8. jquery 过滤 first last eq filter not
  9. iOS中唯一一款不带开屏广告的日历
  10. nssa和stub_eNSP环境,分析NSSA区域与Stub区域的区别
  11. 阿里如何面对人工智能技术发展的三大挑战
  12. QT开发的虚拟示波器代码分享
  13. Python爬取上交所年报下载并转TXT
  14. 三菱q plc modbus通讯协议详解_三菱Q系列PLC与昆仑通态触摸屏以太网通讯
  15. 共享经济思考:标准化与个性化如何融合
  16. php word转化为html,php如何把word转换为html(这里使用COM)
  17. 计算机毕业设计Java网上租房管理(源码+系统+mysql数据库+Lw文档)
  18. java 序列化 内存溢出_Gson序列化问题导致的内存溢出,tip:Background sticky concurrent mark sweep GC freed...
  19. 【毕业设计】基于stm32的便携式U盘设计与实现 - stm32制作U盘
  20. 蓝桥杯2016c++A组真题代码第十题最大比例

热门文章

  1. ajax设置cookie属性,jQuery AJAX响应设置Cookie标头
  2. 燕麦云何洋开讲丨你怎么还在用移动硬盘保存商业秘密?!
  3. node - 下载安装指定版本
  4. python医院管理系统代码_Python+MySQL开发医院网上预约系统(课程设计)一
  5. 全球防御 (树状数组,成段更新,单点求值)
  6. [Shell]tr命令详解
  7. Qt中tr()函数的使用
  8. qborn推出支持苹果Find My功能婴儿车,开启智能“遛娃”时代
  9. 黑魂3服务器维护时间,黑暗之魂3 1.04版本更新内容 三平台更新维护时间
  10. Apple Watch Ultra 参数 功能介绍 苹果手表Ultra续航怎么样