Dockerfile-镜像描述文件

Docker—自定义镜像(Dockerfile镜像描述文件的使用) 什么是Dockerfile Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。自定义镜像可以用来满足我们的个性化需求。 Docker通过读取Dockerfile 中指令按步自动生成镜像 docker -build -t 机构/镜像名<:tags> dockerfile目录 如何通过Dockerfile构建自定义镜像 Dockerfile自动部署Tomcat应用示例 1、在本地目录创建docker应用 例如在E:\docker\dock 阅读详情

Dockerfile是一个包含用于组合镜像的命令的文档
Docker通过读取dockerfile中的指令按步自动生成镜像
docker build -t 机构/镜像名<:tags> Dockerfile目录

Dockerfile使用

FROM tomcat:latest   使用的基准镜像
MAINTAINER 拥有者(说明性信息)
WORKDIR /usr/local/tomcat/webapps    切换到容器工作目录(无则创建)
ADD docker-web ./docker-web   复制当前dockerfile同级目录的项目文件夹,到容器目录下(无则创建)

放于服务器目录

docker build -t 所属机构/镜像名<:tags> Dockerfile目录

docker build -t mycompany/mytest:1.0 /usr/images/firstimage, 可以是绝对路径也可是相对路径
docker build -t mycompany/mytest:1.0 . ,在目录dockerfile目录中,直接.即可

docker run -d -p 8001:8080 mycompany/mytest:1.0 执行。注意tags!不是latest都要加
在这里插入图片描述

镜像分层

在镜像制作过程中,会在每一步都生成一个快照或存储点,在重新创建镜像时,如果不改变,将使用缓存。修改改变得地方会重新构建。

Dockerfile基础命令

FROM centos #制作基准镜像
FROM scratch #不需要基准镜像
描述性信息
MAINTAINER 机构名    
LABEL version = "1.0"
LABEL description = "abcdefd"
设置工作目录
WORKDIR /usr/local/newdir   无则创建,尽量使用绝对路径
复制文件ADD COPY 是一样的
ADD hello /  #复制到根目录
ADD test.tar.gz /  #会在根目录自己解压

设置环境常量(全局常量)
ENV JAVA_HOME /usr/local/openjdk8  将JAVA_HOME赋值
RUN ${JAVA_HOME}/bin/java -jar test.jar    run运行指令。并且可以指定使用JAVA_HOME,环境常量
暴露容器内部端口给物理机
EXPOSE 8080

Docker执行指令

RUN :在build构建时执行指令(build状态)
ENTRYPOINT:容器启动时执行的指令(run状态)
CMD:容器启动后执行默认的命令或参数(run状态)
#run
RUN yum install -y vim  #Shell 命令格式,父进程创建子进程,子进程执行完毕,回到父进程
RUN ["yum","install","-y","vim"] #Exec命令格式,创建一个新的进程,新的进程执行完毕,不会回到原来的进程
ENTRYPOINT一定会执行
ENTRYPOINT(入口点)用于在容器启动时执行命令,Dockerfile中只有最后一个ENTRYPOINT会被执行
ENTRYPOINT ["ps"] #推荐使用Exec格式
CMD不一定会执行。在启动时有附加命令不执行  (-p竟然不算附加命令,不影响CMD执行,-d就算)
CMD用于设置默认执行的命令
如Dockerfile中出现多个CMD,则只有最后一个被执行
如容器启动时附加指令,则CMD被忽略
CMD ["ps" , "-ef"] #推荐使用Exec格式
test
FROM centos
RUN ["echo","building...."]   (构建时执行)
ENTRYPOINT ["ps"]     (运行时一定执行)
CMD ["-ef"]               (不一定执行,但是可以传参,灵活的替换掉原来的参数)
ENTRYPOINT和CMD可以拼接使用
Docker--镜像的使用与操作 镜像是创建容器的基础,通过版本管理和联合文件系统,Docker提供了一套十分简单的机制来创建镜像和更新现有的镜像。使用docker images命令可以列出本机主机上的镜像: REPOSITORY列表示镜像仓库,TAG列表示镜像的标签,IMAGE ID列表示镜像ID,CREATED列表示镜像创建时间,SIZE列表示镜像大小。镜像ID是镜像的唯一标识,采用UUID形式表示,可以在docker images命令加上--no-trunc以显式完整的镜像ID 总之,镜像可以通过镜像ID、镜像名称(包括标签) 阅读详情

相关推荐

WebUI自动化测试框架搭建(python+pytest+selenium+allure)

将鼠标移动到要定位的元素上面>右键>点击“检查”>在元素代码上右键>复制>复制XPath。

m0_63729339的博客 1280

【Docker系列】Dockerfile 中指令作用介绍

其中,每个指令都有对应的语法和用法。下面我们通过一个基于 CentOS 7.9 镜像的示例来介绍各个指令的具体操作方法。

一起加油吧 2092

Open3D 教程学习指南 (持续整理)

Open3D 是一个开源库,旨在为 3D 数据处理提供高效且易用的工具。它由 Intel 开发和维护,支持多种 3D 数据处理任务,如点云处理、3D 重建、几何处理和可视化等。

Chase Blog 5925

dockerfile详解

前言 各位想必应该记得,我们此前如果安装一个nginx的话,安装完以后,我们说过很多次了,通常不会运行在默认配置下,那因此,我们通常需要去改一改它的配置文件或者定义模块化配置文件,然后启动服务。那为什么,nginx的默认配置不符合我们的需要呢?很显然,不同的生产场景所需要用到的配置参数各个相同,因此,对方只能用一个默认的,认为适用于大多数普遍场景情形的或者适用于较小主机资源情况下的那么一个设定来...

紫色飞猪 4万+

10xGenomics官方可视化工具——Loupe Browser

Loupe Browser是⼀款10xGenomics开发的交互式桌⾯应⽤程序,⽤于探索10x单细胞数据,可以用来找出感兴趣的细胞、找出显著差异表达的基因、鉴定细胞类型、探索细胞亚类和数据共享。

weixin_47195452的博客 3348

postman响应体:“msg“: “请求缺失签名Sign“、 “msg“: “请求缺失时间戳“

请求标头有Sign、Timestamp,但是直接将网址复制到postman时,Headers没有自动生成这两个参数,所以运行时会报错。

m0_46862648的博客 1706

Dockerfile语法

FROM 指定基础镜像 FORM python:2.7 LABEL 描述信息 LABEL maintainer=&amp;amp;quot;test@test.com&amp;amp;quot; LABEL version=&amp;amp;quot;1.0&amp;amp;quot; LABEL description=&amp;amp;quot;This is description&amp;amp;quot; RUN 运行shell

风格色的博客 1254

Java课程设计——扫雷游戏程序

使用Java语言对扫雷游戏的复刻

m0_60671275的博客 3496

【Docker】学习笔记(二)三剑客之 Dockerfile镜像描述文件书写

dockerfile镜像文件书写指令详解

SensizliK 1081

Oracle11g下载与安装(windows)

一、Oracle11g下载 二、安装准备 三、执行安装步骤 四、测试连接 附:Oracle11g服务说明

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 2万+

触摸芯片RM1015B基本使用方法

RM1015B触摸芯片使用指南:该芯片采用4通道设计(实际使用3通道),通过I2C接口通信(设备地址0x2B)。硬件设计需注意中断/复位引脚复用,需上拉处理。软件配置包括初始化、中断处理和定时器扫描,通过设置各通道阈值(0-300W)调节灵敏度,值越小越灵敏。调试时可调用rm1015B_debug_func()输出波形数据。典型应用场景包括接近检测和手势识别,中断触发后需在8ms内响应。特别注意不同通道的寄存器映射关系及校准流程,确保检测准确性。

云淡风轻 176

docker-compose使用及Dockerfile镜像描述文件

FROM 当前镜像基于哪个的哪个镜像RUN 构建镜像时需要运行的指令EXPOSE 当前容器对外暴露出的端口号WORKDIR 指定在创建容器后,终端默认登录进来的工作目录,一个落脚点ENV 用来在构建镜像过程中设置环境变量ADD 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar包COPY 和ADD类似,拷贝文件和目录中的镜像将从构建上下文目录中<原路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置VOLUME 容器数据卷,用于数据保存和持久化工作。

weixin_38820905的博客 833

Ceph入门到精通-更换osd、扩容osd

【代码】Ceph入门到精通-更换osd、扩容osd。

隔壁老瓦的专栏 1547

Dockerfile - 工作流程、构建镜像、文件语法

a)Dockerfile 是什么?Dockerfile 就是镜像的描述文件.b)Dockerfile 的作用?通过 Dockerfile 文件就可以构建一个属于自己的镜像.c)为什么使用 Dockerfile 构建镜像?官方的镜像确实足够好了,适用于大多数应用场景,但是如果我们想要构建属于我们自己的业务镜像,就需要自定义镜像了.

CYK_byte的博客 3381

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

利用Dockerfile构建自定义镜像

当一个系统开发完成,需要将系统打包为一个镜像文件,让docker能够运行该镜像,成为一个可以被访问的容器。上述操作可以通过自定义镜像的方式来实现,本文章基于VMware虚拟机中安装的Centos7操作系统来完成。

每天学习一点点 1109

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

dockerfile

dockerfile就是docker images的描述文件 一段典型的dockerfile脚本 apt-get update && apt-get install procps 转载于:https://www.cnblogs.com/saintdingspage/p/9775733.html...

weixin_30273763的博客 79

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

三、Dockerfile自定义镜像

Dockerfile自定义镜像

weixin_61620939的博客 471

DockerFile

DockerFile使用

CNDN_Web的博客 299

基于Dockerfile创建镜像 和 镜像的导入导出

UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。AUFS、OverlayFS 及 Devicemapper 都是一种 UnionFS。Union文件系统是Docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。

ytusdc的博客 8022

使用Dockerfile构建镜像

一、构建三步骤 Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本 编写Dockerfile文件 docker build docker run 二、Dockerfile构建过程解析 Dockerfile内容基础知识 每条保留字指令都必须大写字母且后面要跟随至少一个参数 指令按照从上到下,顺序执行 #表示注释 每条指令都会创建一个新的镜像层,...

Luck_ZZ的博客 418

Docker、Dockerfile、Docker镜像、容器这些都是什么鸟?

老生常谈,再再再……普及一下: Docker:最早是dotCloud公司出品的一套容器管理工具,但后来Docker慢慢火起来了,连公司名字都从dotCloud改成Docker。 Dockerfile:它是Docker镜像的描述文件,可以理解成火箭发射的A、B、C、D……的步骤。 Docker镜像:通过Dockerfile做出来的,包含操作系统基础文件和软件运行环境,它...

weixin_30737433的博客 98

Dockerfile构建镜像

dockerfile构建镜像前要创建一个工作目录,dockerbuild会扫描当前目录下所有文件,优化四种方式——》基于docker镜像分层的原理来的①每一条RUN指令都会生成一层新的镜像层②每一层镜像缓存会继承到下一层中——》直接影响到镜像的大小httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...

gcc001224的博客 5707

【docker】dockerfile构建镜像

docker run创建并启动容器,再通过docker exec/cp 等容器操作指令修改容器内容,然后再去用docker commit提交成新的镜像。

manyulanlanlu的博客 1万+

Docker之Dockerfile构建镜像

在上一期有关Docker的博客分享中我们学习到了Docker的一些数据卷和数据卷容器的一些基本的使用以及概念性的学习。本次的博客给大家带来的是有关Docker中的Dockerfile的学习。Dockerfile是一个文本文件,其中包含一组用于自动化Docker镜像构建的指令和配置。通过编写Dockerfile,用户可以定义镜像的内容、环境和运行时配置。构建过程基于这个Dockerfile文件,并通过Docker引擎执行一系列指令来生成最终的Docker镜像。

weixin_74352229的博客 2639

DockerFile定制镜像

Dockerfile 是⼀个⽤来构建镜像的⽂本⽂件,⽂本内容包含了⼀条条构建镜像所需的指令和 说明,每条指令构建⼀层,最终构建出⼀个新的镜像。docker镜像的本质是⼀个分层的⽂件系统centos的iso镜像⽂件是包含bootfs和rootfs及⼤量软件包,⽽docker的centos镜像复 ⽤了操作系统的bootfs,也没有⼤量软件包,只有rootfs和其他必要镜像层。

WWNY666的博客 1410
上一篇: Docker相关概念及常用命令
下一篇: Docker-单节点 容器间单双向通信,容器间共享数据
tgn123456
博客等级 码龄7年 28粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值