Docker创建一个java程序镜像
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程序镜像相关推荐
- 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 ...
- 在docker中构建普通java程序_Docker入门-构建第一个Java程序
原标题:Docker入门-构建第一个Java程序 定制镜像 准备一个没有第三方依赖的java web项目,可能参考示例maven结构项目: session-web.war 把该war上传到安装有doc ...
- Docker Java程序镜像制作
Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64. ...
- Docker 3.2.10:基于 Dockerfile 制作 java 程序镜像
3.2.10:基于 Dockerfile 制作 java 程序镜像 准备基础镜像 以 centos-tomcat:8.5.60 为基础镜像,构建业务镜像: 编写 Dockerfile 创建业务镜像的 ...
- docker commit (从容器创建一个新的镜像)
从容器创建一个新的镜像 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -a :提交的镜像作者:-c :使用Dockerfile指令来创建镜像 ...
- java开发环境的建立过程_Java开发环境的搭建及第一个Java程序的创建
Java的几个基本概念: JVM:Java Virtul Machine(Java虚拟机) JRE:Java Runtime Environment(Java运行时环境) JDK:Java Devel ...
- (开包即用,不用看代码!)借助Docker自动构建Java(Oracle)镜像
开包即用,不用看代码! 如果着急使用可以直接使用我构建的镜像,请从配置镜像源开始看 Docker中的Java Java可能是程序员最常用的运行时环境了, 即使你不开发Java程序,大量的开发工具也需要 ...
- 使用docker容器运行java程序
使用docker容器运行java程序 java 18 一.文件准备 mkdir 11 cd 11 创建并进入目录 docker pull ubuntu:22.04 wget https://downl ...
- 第一个java程序释义_Java 学习之路(1)第一个Java程序
Hello World程序 在编程语言的世界里,第一个编程语言估计就是输出Hello World了吧. /** * 编写第一个Java程序,输出Hello World! * @author LJS * ...
最新文章
- 如何重装计算机操作系统,自己如何重装笔记本电脑操作系统呢?
- mediawiki安装使用
- java startswith忽略大小写_Java String startsWith()方法与示例
- 数字证书 - Java加密与安全
- HDU 6631 line symmetric(枚举)
- 在javascript中关于局部变量和全局变量简析
- [react-native]react-native填坑笔记
- jquery 过滤 first last eq filter not
- iOS中唯一一款不带开屏广告的日历
- nssa和stub_eNSP环境,分析NSSA区域与Stub区域的区别
- 阿里如何面对人工智能技术发展的三大挑战
- QT开发的虚拟示波器代码分享
- Python爬取上交所年报下载并转TXT
- 三菱q plc modbus通讯协议详解_三菱Q系列PLC与昆仑通态触摸屏以太网通讯
- 共享经济思考:标准化与个性化如何融合
- php word转化为html,php如何把word转换为html(这里使用COM)
- 计算机毕业设计Java网上租房管理(源码+系统+mysql数据库+Lw文档)
- java 序列化 内存溢出_Gson序列化问题导致的内存溢出,tip:Background sticky concurrent mark sweep GC freed...
- 【毕业设计】基于stm32的便携式U盘设计与实现 - stm32制作U盘
- 蓝桥杯2016c++A组真题代码第十题最大比例
热门文章
- ajax设置cookie属性,jQuery AJAX响应设置Cookie标头
- 燕麦云何洋开讲丨你怎么还在用移动硬盘保存商业秘密?!
- node - 下载安装指定版本
- python医院管理系统代码_Python+MySQL开发医院网上预约系统(课程设计)一
- 全球防御 (树状数组,成段更新,单点求值)
- [Shell]tr命令详解
- Qt中tr()函数的使用
- qborn推出支持苹果Find My功能婴儿车,开启智能“遛娃”时代
- 黑魂3服务器维护时间,黑暗之魂3 1.04版本更新内容 三平台更新维护时间
- Apple Watch Ultra 参数 功能介绍 苹果手表Ultra续航怎么样