当前位置: 首页 > news >正文

Docker自定义镜像

镜像

        镜像包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建自定义镜像就是把上述文件打包的过程。

镜像结构

        入口(entrypoint):镜像运行入口,一般是程序的启动脚本和参数

        层(layer):添加安装包、依赖、配置等,每次操作都形成新的一层

        基础镜像(baseImages):应用依赖的系统函数库、环境、依赖等。

DockerFile

        dockerFile是一个文本文件,其中包含一个一个的指令,用指令说明来说明执行什么来创建镜像。

        命令(了解,明白,什么意思即可

FORM:指定基础镜像

ENV:设置环境变量,可在后面指令使用

COPY:拷贝本地文件到镜像的指定目录

RUN:执行Linux的shell命令,一般是安装过程的命令

EXPOSE:指定容器运行时监听的端口,是给镜像使用者看的

ENTRYPOINT:镜像中应用启动的命令,容器运行时调用

构建镜像步骤(了解

        以运行jar包为例子

准备一个Linux运行环境

安装JRE并配置环境变量

拷贝jar包

编写运行脚本

例子

        自定义镜像(jar)

1环境设置

        1.1拉取jdk镜像

        1.2jar包和Dockerfile放在同一个文件夹中

DockerFile文件

# 基础镜像
FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY docker-demo.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

2运行

 docker build -t cx:1.0 /root/demo

这样镜像就创建成功了        

运行容器

docker run -d --name cxcx -p 8080:8080 cx
 

相关文章:

  • 探索未来直播新纪元:Voodoo Spatial 的3D 直播革命
  • Java顺序表
  • web4.0-元宇宙虚拟现实
  • CCF-GESP 等级考试 2023年12月认证C++一级真题
  • JavaScript Window对象
  • 如何让大模型更聪明?提升AI智能的关键策略
  • Cocos Creator 编辑器的数据绑定详解
  • C#同花顺下单 模拟操作版接口实现
  • 【Qt 学习笔记】Qt窗口 | 菜单栏 | QMenuBar的使用及说明
  • Python怎样将PDF拆分成多个文件
  • 对gRPC中常见的 grpc::CreateChannel()这个类所创建的对象所包含的属性做详细介绍
  • 力扣496. 下一个更大元素 I
  • 【数据库基础-mysql详解之索引的魅力(N叉树)】
  • sheng的学习笔记-docker部署Greenplum
  • 会话机制:Session
  • 2017前端实习生面试总结
  • es的写入过程
  • java第三方包学习之lombok
  • Map集合、散列表、红黑树介绍
  • Nacos系列:Nacos的Java SDK使用
  • 爱情 北京女病人
  • 对超线程几个不同角度的解释
  • 基于axios的vue插件,让http请求更简单
  • 蓝海存储开关机注意事项总结
  • 排序(1):冒泡排序
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端路由实现-history
  • mysql面试题分组并合并列
  • ​​​​​​​​​​​​​​Γ函数
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • ###STL(标准模板库)
  • #1015 : KMP算法
  • #define用法
  • #Java第九次作业--输入输出流和文件操作
  • #在 README.md 中生成项目目录结构
  • (02)Hive SQL编译成MapReduce任务的过程
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (day6) 319. 灯泡开关
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (六)Flink 窗口计算
  • (三分钟)速览传统边缘检测算子
  • (算法二)滑动窗口
  • (一)WLAN定义和基本架构转
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转载)深入super,看Python如何解决钻石继承难题
  • .bat文件调用java类的main方法
  • .gitattributes 文件
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET分布式缓存Memcached从入门到实战
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET中winform传递参数至Url并获得返回值或文件
  • .net中应用SQL缓存(实例使用)
  • @Autowired 和 @Resource 区别的补充说明与示例