Docker自定义镜像

目录

回顾

镜像含义

DockerFile语法

自定义java项目镜像

创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,将 java 项目打包成 jar 包,放到这个目录中

​编辑

编写DockerFile文件信息

 使用 docker build 构建为一个镜像

查看构建的镜像

docker run运行镜像


回顾

镜像含义

是一个轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),之后个打包好的运行环境就是image镜像文件。

DockerFile语法

DockerFile就是一个纯文本,里面记录了一系列的构建指令,如选择基础镜像、拷贝文件、运行脚本等等,Run,Copy,Add指令都会生成一个Layer,而Docker顺序执行这个文件里的所有步骤,最后就会创建出一个新的镜像出来。

 以下命令参考官方文档

指令说明
FROM指定基础镜像
ENV设置环境变量,可在后面指令使用
COPY拷贝本地文件到镜像的指定目录
RUN指令linux的shell命令,一般是安装过程的命令
EXPOSE指定容器运行时监听的端口,是给镜像使用者看的
ENTRYPOINT镜像中应用的启动命令,容器运行时调用

自定义java项目镜像

创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,将 java 项目打包成 jar 包,放到这个目录中

编写DockerFile文件信息

基本信息如下:

  1. 基于XXX作为基础镜像
  2. 将 app.jar 拷贝到镜像中
  3. 暴露端口
  4. 编写入口 ENTRYPOINT
#基础镜像
FROM java:8-alpine#设置时区
ENV TZ=Asi/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone#拷贝jar包
COPY docker-demo.jar /app.jar#暴露端口
EXPOSE 8090#入口
ENTRYPOINT ["java","-jar","/app.jar"]

 使用 docker build 构建为一个镜像

参数说明:

  • -t 表示设置镜像名和版本号(自定义)
  • . 表示 Dockerfile 所在目录,因为刚刚我是将 Dockerfile 放在了当前文件目录下,所以就用 . 来表示当前目录

查看构建的镜像

docker run运行镜像

根据服务器 IP 和自己配置的镜像映射端口号以及项目地址就可以访问了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/185462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享86个简历竞聘PPT,总有一款适合您

分享86个简历竞聘PPT,总有一款适合您 86个简历竞聘PPT下载链接:https://pan.baidu.com/s/130iX0EIH6J-PFzb6HcntcQ?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整…

【追求卓越10】算法--跳表

引导 在上一节中,我们学习到二分查找,惊叹于它超高的效率(时间复杂度为O(logn))。但是二分查找有一个局限性就是依赖于数组,这就导致它应用并不广泛。 那么适用链表是否可以做到呢?答案是可以的。只不过要复…

【程序员的自我修养03】深入了解ELF文件格式

绪论 大家好,欢迎来到【程序员的自我修养】专栏。正如其专栏名,本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度,我会尽自己最大的努力,争取…

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现

一、前言: 这个项目主要分为两部分,客户端(ARM板端)负责利用OpenCV采集人脸数据,利用TCP将人脸数据发送给服务器,然后服务器根据人脸数据进行人脸识别,将识别后的结果返还给客户端,客…

请大数据把奥威BI分析工具推给每一个财务!

这个财务指标怎么算?那些数据什么时候能拿到?看完报表,发现某部门上个月的支出涨幅过大,想了解原因怎么办?……财务人,你是不是每个月都把时间消耗在这些事情上了?那你可得快接住这个BI大数据分…

网站文章采集软件大盘点

在信息时代,随着互联网的不断发展和普及,获取、整理和利用海量信息成为各行业的共同挑战。在这个背景下,网站文章采集技术应运而生,成为满足信息需求的重要工具。本文将对网站文章采集及其相关软件进行深入探讨,为读者…

Golang语言基础之切片

概述 数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性 func arraySum(x [3]int) int{sum : 0for _, v : range x{sum sum v}return sum } 这个求和函数只能接受 [3]int 类型,其他的都不支持。 切片 切片(Slic…

virustotal的使用

www.virustotal.com是一个恶意代码扫描网站,提交时需要验证码。 该网站有近百个病毒引擎的支持。 该网站最有用的地方在于,这是一个交互式的恶意代码检测网站,这样的模式有一个隐形的福利,那就是为病毒木马爱好者提供了攻防一体…

市面上这么多SD-WAN服务商,究竟有何不同?

随着数字化浪潮的不断发展,企业网络已经成为了现代企业中不可缺少的一部分。而提供企业组网服务的SD-WAN服务商也呈现出快速增长的趋势。但是,市场上有这么多SD-WAN服务商,各个服务商技术实现方案非常相似,那么这些服务商之间到底…

人工智能驱动的医疗辅助:陪诊系统的技术原理与应用

随着人工智能技术的不断发展,医疗领域也迎来了新的可能性。本文将深入探讨陪诊系统的技术原理及其在医疗领域中的应用。我们将重点关注人工智能的核心概念,如自然语言处理、机器学习和语音识别,以解释陪诊系统是如何在医疗环境中发挥作用的。…

html5各行各业官网模板源码下载(1)

文章目录 1.来源2.源码模板2.1 HTML5白色简洁设计师网站模板 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/134682321 html5各行各业官网模板源码下载,这个主题覆盖各行业的html官网模板,效果模…

图解Redis适用场景

Redis以其速度而闻名。 1 业务数据缓存 1.1 通用数据缓存 string,int,list,map。Redis 最常见的用例是缓存对象以加速 Web 应用程序。 此用例中,Redis 将频繁请求的数据存储在内存。允许 Web 服务器快速返回频繁访问的数据。这…

Make sure bypassing Vue built-in sanitization is safe here.

一、问题描述 二、问题分析 XSS(跨站脚本攻击) XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括J…

【注册表】Sublime Text添加到右键菜单

官网下载 windows下地地址: http://www.sublimetext.com/download_thanks?targetwin-x64设置右键菜单和菜单小图标 win R打开运行,并输入regedit打开注册表编辑器依次找到HKEY_CLASSESS_ROOT -> * -> Shell,下面新建项, 这个项的名…

【TinyALSA全解析(三)】tinyplay、tincap、pcm_open源码解析

tinyplay、tincap、pcm_open源码解析 一、本文的目的二、tinyplay.c源码分析三、tinycap.c源码分析四、pcm.c如何调度到Linux Kernel4.1 pcm_open解析4.1.1 pcm_open的主要流程4.1.2 流程说明4.1.3 调用方法 4.2 pcm_write解析 /*********************************************…

图解系列--HTTPS,认证

确保 Web 安全的HTTPS 1.HTTP 的缺点 1.1.通信使用明文可能会被窃听 加密处理防止被窃听 加密的对象可以有这么几个。 (1).通信的加密 HTTP 协议中没有加密机制,但可以通过和 SSL(Secure Socket Layer,安全套接层)或TLS&#xff…

猜-MISC-bugku-解题步骤

——CTF解题专栏—— 题目信息: 题目:猜 作者:harry 提示: 解题附件:flag格式key{图中人物名字全拼} 解题思路: 这......头都没有,让我guess???详细信息看…

NASM安装和结合nodepad++进行编译的过程

mov ax,0x30 mov bx,0xc0 add ax,bx times 502 db 0 db 0x55 db 0xAA nasm安装地址: https://www.nasm.us/ 下载exe安装 在命令行提示符输入nasm编译命令 nasm exam.asm -f bin -o exam.bin 此时输入回车将会执行编译过程。 1,启动NotePad,在菜单上选…

web前端tips:js继承——寄生组合式继承

上篇文章给大家分享了 js继承中的 寄生式继承 web前端tips:js继承——寄生式继承 今天给大家分享一下 js 继承中的 寄生组合式继承 寄生组合式继承 寄生组合式继承是一种结合了寄生式继承和组合式继承的方式,它的目标是减少组合式继承中多余的调用父…

【Java 并发编程】进程线程、lock、设计模式、线程池...

博主:_LJaXi Or 東方幻想郷 专栏: Java | 从入门到入坟 Java 并发编程 并发编程多线程的入门类和接口线程组和线程优先级线程的状态及主要转化方法线程间的通信重排序和 happens-beforevolatilesynchronized 与锁CAS 与原子操作AQS计划任务Stream 并行计…