dockerfile1.0

docker的数据卷

docker file ------------- 自动自定义镜像

docker的数据卷:

容器与宿主机之间,或者容器和容器之间的数据共享(目录)

创建容器的时候,通过指定目录,实现容器于宿主机之间,或者容器和容器之间的数据共享

容器的生命周期是有限的,容器一旦销毁,内部的数据也会一并消失,所以我们创建了数据集的方式,将容器内的数据持久化的保存到宿主机

cd /optmkdir test1docker run -itd --name nginx1 -v /usr/share/nginx/html: /opt/test1 -p 80:80 nginx:1.22
↓
-v:volume(数据卷,挂载卷)-v /opt/test1: /opt/test1:ro:容器内的目录,宿主机的目录,数据卷的默认权限是rw,ro:只读模式(宿主机的目录在前,容器在后)

以宿主机的目录为准,容器的生命周期是有限的保存到宿主机的数据,可以在下一次创建容器的时候继续使用

数据卷容器:

容器和容器之间共享数据

docker run -itd --name test2 -v /opt/data1 -v /opt/data2 centos : 7#-v:指定目录,如果没有冒号,这个目录就是容器内的数据目录,不会和宿主机挂载docker run -itd  --name test3 --volumes -from test2 centos:7#-volume from:另外一个容器,使用其他容器提供的数据目录,这个目录仅限于容器内数据共享,一旦容器销毁,内部的数据目录也会一并销毁docker exec -it test2 bashcd /opt

创建容器,指定挂载卷容器内的nginx的日志目录和宿主机挂载,nginx的映射端口为随机端口,然后访问容器,可以在主机显示日志的内容

创建容器的三要素:★★★★★★

创建容器的时候,一定要做宿主机和容器之间的端口映射(容器对外提供访问)

一定要对容器做资源限制

一定要做数据卷


dockerfile:

自定义镜像★★★(dockerfile的核心)

基于dockerfile创建,联合文件系统,UnionFs 是创建docker镜像的基础,镜像可以通过分层来进行继承,继承是基于基础的镜像,可以制作各种应用的镜像

特点一次性加载多个文件系统,但是创建好容器之后,对于用户来说只有一个文件系统

在这里插入图片描述

docker镜像的定制化操作,实际上就是定制每一层所添加的配置和文件等等

把所有需要的操作写入一个脚本当中,然后一键运行,就是dockerfile

dockerfile作为一个脚本,由四部分组成: ★★★★★

1、基础镜像:程序的运行环境

2、维护者信息(可选项,相当于注释)可不写

3、镜像的操作命令(自定义应用)

4、容器启动时的命令(容器没有可执行的命令,就是退出,stop状态,必须要给容器一个可执行的持久化的命令)

dockerfile的命令格式: ★★★★★

  • FROM:指定程序的基础镜像

  • MAINTAINER:维护者信息(可不写),版本较高使用的是LABEL

镜像的操作命令: ★★★★★

  • RUN:在基础镜像上运行命令,结果会提交到新镜像上,每执行一次run就相当于是镜像的一层

    run的命令太多,镜像的分层就越多,镜像越大

  • ADD:将宿主机的文件复制到镜像的内部,可以URL和解压

  • COPY:仅限于复制,将宿主机的文件复制到镜像内部,只能是宿主机的本地文件,不支持下载

  • ENV:指定镜像内的容器运行之后的环境变量

  • WORKDIR:容器的工作目录,也是进入容器之后的默认目录

  • USER:指定容器运行时的用户名或者uid

  • VOLUME:创建容器内的挂载点,可以被外部使用,既可以和宿主机挂载,也可以和容器使用

  • EXPOSE:声明容器对外的网络端口

  • ARG:用来传递变量,把宿主机的参数传递到容器内部的参数

容器启动的命令

  • CMD:指定容器运行的默认命令

  • ENTRYPOINT:指定容器运行的默认命令

CMD和ENTRYPOINT是有区别的,CMD可以给ENTRYPOINT传参,ENTRYPOINT会覆盖CMD的命令,当创建容器时,外部定义了参数,如果是CMD,会被外部的传参覆盖,只会执行外部传参的命令,但是ENTRYPOINT的命令是不会被外部传参的命令覆盖★★★★★

如果有多个cmd和entrypoint,只会执行最后一个

vim Dockerfile 
↓
FROM  centos:7MAINTAINER "xy104"ENTRYPOINT ["ls","-a","/opt"]
ENTRYPOINT ["ls","-a","/etc"]CMD ["ls","/boot"]
CMD ["-lh","/usr"]

docker build -t centos:test1 .
开启镜像的制作

-t:创建完成之后给镜像指定名称和标签

.点表示直接从当前目录的dockerfile文件创建镜像

run命令在一个dockerfile当中不能太多,每执行一次run就相当于是镜像的一层

run的命令太多,镜像的分层就越多,镜像越大

RUN apt -y install nginx
RUN apt -y install httpd
RUN apt -y install nginx && apt -y install httpd

&&:在run命令中,表示连接多个命令,确保前一个命令执行成功,才会运行第二个命令

;:apt -y install nginx;apt -y install httpd
不管前面的命令是否成功,都会执行后面的目录

ll :或者(只有前面的失败了,后面的命令才会执行)

add和copy:

1、add和copy在复制文件时,表现的是一致的,尤其是复制本地文件

找和dockerfile在一个目录下的文件,自动复制到指定路径

2、解压和下载 ···························· 》add

ADD的优点:
没有格式的限制 ······················· 》解压,gz,bz2,直接跟上路径,自动解压到目标目录

ADD的缺点:在不解压的前提下,无法复制

docker用ubuntu实现nginx:1.22的编译版本,暴露端口为84,设置nginx的默认访问目录为/var/www/html
宿主机和访问目录实现挂载,限制cpu只能使用百分之10,以及一个g的内存,以上配置都要通过dockerfile自动完成

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

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

相关文章

晨辉面试抽签和评分管理系统之九:随机编排考生的分组(以教师资格考试面试为例)

晨辉面试抽签和评分管理系统(下载地址:www.chenhuisoft.cn)是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…

信号与系统初识---信号的分类

文章目录 0.引言1.介绍2.信号的分类3.关于周期大小的求解4.实信号和复信号5.奇信号和偶信号6.能量信号和功率信号 0.引言 学习这个自动控制原理一段时间了,但是只写了一篇博客,其实主要是因为最近在打这个华数杯,其次是因为在补这个数学知识…

解决winodws server iis 下的php mkdir(): Permission denied 问题

这个问题报错原因是权限不够,解决办法如下: 1.在php安装目录下,打开配置文件php.ini 把upload_tmp_dir 前面的分号去掉。 2.给上传的文件夹添加权限 在网站的相应目录,比如目录为tmp,添加IUSR用户,并给所…

如何在本地部署大模型并实现接口访问( Llama3、Qwen、DeepSeek等)

如何在本地部署大模型并实现接口访问( Llama3、Qwen、DeepSeek等) 如何在本地部署大模型并实现接口访问( Llama3、Qwen、DeepSeek等)模型地址模型下载模型部署指定显卡运行app.py 运行环境requirements 调用接口代码调用 结语 如何…

数据库增量备份和全量备份

数据库增量备份和全量备份 1.修改配置 首先打开配置文件my.ini 添加以下配置 #log-bin"JSSM-20230617FY-bin" log-bin"mysql-bin"# Server Id. server-id1#指令指定写入二进制日志的事件格式 binlog_formatMIXED添加完之后对MySQL服务进行重启 重启之后…

用 Python 从零开始创建神经网络(十九):真实数据集

真实数据集 引言数据准备数据加载数据预处理数据洗牌批次(Batches)训练(Training)到目前为止的全部代码: 引言 在实践中,深度学习通常涉及庞大的数据集(通常以TB甚至更多为单位)&am…

使用 Debug 类的 Assert 方法查找 C# 中的错误

Debug类提供了几种用于调试代码的方法。其Assert方法采用布尔值,如果值为false则抛出异常。第二个参数给出异常应显示的错误消息。如果在调试器中运行时断言失败,您可以选择打开调试器到抛出异常的 Debug.Assert语句。 通常,您使用Debug.Ass…

Windows图形界面(GUI)-QT-C/C++ - Qt图形绘制详解

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 Qt绘图基础 QPainter概述 基本工作流程 绘图事件系统 paintEvent事件 重绘机制 文字绘制技术 基本文字绘制 ​编辑 高级文字效果 基本图形绘制 线条绘制 ​编辑 形状绘制 …

《计算机网络》课后探研题书面报告_网际校验和算法

网际校验和算法 摘 要 本文旨在研究和实现网际校验和(Internet Checksum)算法。通过阅读《RFC 1071》文档理解该算法的工作原理,并使用编程语言实现网际校验和的计算过程。本项目将对不同类型的网络报文(包括ICMP、TCP、UDP等&a…

浅谈计算机网络02 | SDN控制平面

计算机网络控制平面 一、现代计算机网络控制平面概述1.1 与数据平面、管理平面的关系1.2 控制平面的发展历程 二、控制平面的关键技术剖析2.1 网络层协议2.1.1 OSPF协议2.1.2 BGP协议 2.2 SDN控制平面技术2.2.1 SDN架构与原理2.2.2 OpenFlow协议2.2.3 SDN控制器 一、现代计算机…

网络层协议-----IP协议

目录 1.认识IP地址 2.IP地址的分类 3.子网划分 4.公网IP和私网IP 5.IP协议 6.如何解决IP地址不够用 1.认识IP地址 IP 地址(Internet Protocol Address)是指互联网协议地址。 它是分配给连接到互联网的设备(如计算机、服务器、智能手机…

我国无人机新增实名登记110.3 万架,累计完成飞行2666万小时

据央视新闻从中国民航局了解到,2024 年我国全年新增通航企业 145 家、通用机场 26 个,颁发无人驾驶航空器型号合格证 6 个、新增实名登记无人机 110.3 万架,无人机运营单位总数超过 2 万家,累计完成无人机飞行 2666 万小时&#x…

【Linux】正则表达式

正则表达式是一种可供Linux工具过滤文本的自定义模板,Linux工具(如sed、gawk)会在读取数据时使用正则表达式对数据进行模式匹配。 正则表达式使用元字符来描述数据流中的一个或多个字符。它是由正则表达式引擎实现的。正则表达式引擎是一种底…

数据平台浅理解

定义 数据平台架构是指用于收集、存储、处理和分析数据的一系列组件、技术和流程的整体架构设计。它就像是一个复杂的数据生态系统的蓝图,旨在高效地管理数据从产生源头到产生价值的整个生命周期。 主要层次 数据源层 这是数据的起点,包含各种类型的数据…

Python入门10:高阶函数

一、什么是高阶函数 1.1、高阶函数的概念和作用: 高阶函数是指 接受函数作为参数 或者 返回函数 作为结果的函数。它在函数式编程中是一个重要概念(函数式编程(Functional Programming , FP )是一 种编程范式&#xf…

浅谈云计算12 | KVM虚拟化技术

KVM虚拟化技术 一、KVM虚拟化技术基础1.1 KVM虚拟化技术简介1.2 KVM虚拟化技术架构1.2.1 KVM内核模块1.2.2 用户空间工具(QEMU、Libvirt等) 二、KVM虚拟化技术原理2.1 硬件辅助虚拟化2.2 VMCS结构与工作机制 三、KVM虚拟化技术面临的挑战与应对策略3.1 性…

GO:GO程序如何处理缓存加载和大数据缓存

如果我们会在程序启动时,需要加载所有数据,最简单的方式就是程序启动,通过轮训从数据库拉取所有数据,并写入到本地缓存中。 问题:数据量较大的时候,程序加载慢,启动时间长,遇到问题不…

【优选算法篇】:分而治之--揭秘分治算法的魅力与实战应用

✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:优选算法篇–CSDN博客 文章目录 一.什么是分治算法1.分治算法的基本概念2.分治算法的三个步…

OpenAI Whisper:语音识别技术的革新者—深入架构与参数

当下语音识别技术正以前所未有的速度发展,极大地推动了人机交互的便利性和效率。OpenAI的Whisper系统无疑是这一领域的佼佼者,它凭借其卓越的性能、广泛的适用性和创新的技术架构,正在重新定义语音转文本技术的规则。今天我们一起了解一下Whi…

python+playwright自动化测试(一):安装及简单使用,截图录屏

目录 基本使用 浏览器调用 启用浏览器 创建窗口对象 访问URL 页面的刷新、返回、前进 关闭 截图、录屏、保存pdf 截图 录屏 保存为pdf 设置窗口大小 调试模式 手机模式及new_context的更多参数 手机模式 new_context的其他参数 设置语言和时区 设置和修改位置…