docker的数据卷和自定义镜像

docker的数据卷:
容器与宿主机之间,或者容器和容器之间的数据共享(目录)。
创建容器的时间,通过指定目录,实现容器于宿主机之间,或者容器和容器之间的数据共享。
容器的生命周期有限,一旦销毁,内部数据消失,所以创建了数据卷的方式,将容器内的数据永久保存到宿主机。

docker run -itd --name nginx1 -v  宿主机目录:容器目录 -p 容器端口:宿主机端口  镜像文件
-v /opt/test1:/opt/test1:ro 数据卷的默认权限是rw,ro:只读模式
已宿主机的目录为准。容器的生命周期是有限的,保存到宿主机目录的数据

数据卷容器:
容器和容器之间共享数据:docker run -itd --name test2 -v /opt/data2 centos:7
-v指定目录,如果没有:,这个目录就是容器内部的目录 ,不会和宿主机挂载
docker run -itd --name test3 --voiumes-from test2 centos:7
--voiumes-from:另外一个容器,使用的其他容器提供的数据目录,这个目录仅限于容器内数据共享,一旦容器销毁,内部的数据目录也会一并销毁。
 
问题:创建容器,指定挂载卷容器内的nginx的日志目录和宿主机挂载,nginx的映射端口为随机端口。然后访问容器,可以在宿主机显示日志的内容。
docker run -itd --name test1 -v /opt/123:/var/log/nginx -P nginx:1.22

**创建容器三要素:①一定要做宿主机和容器之间的端口映射(容器对外提供访问)
②一定要对容其对资源限制
③一定要做数据卷


****核心:dockerfile
自定义镜像*
基于dockerfile创建,
联合文件系统,UnionFs 是创建docker镜像的基础,镜像可以通过分层来进行集成,基于基础的镜像可以制作各种应用的镜像。
特点:一次性加载多个文件系统,但是创建好容器后,对于用来说只有一个文件系统。
docker镜像的定制化操作实际上就是定制每一层索要添加的配置和未见等。
把所有的需要的操作写入到一个脚本中,然后一键运行,就是dockerfile   dockerfile作为一个脚本,由四部分组成:
1.基础镜像:程序的运行环境
2.维护者信息(可选项,相当于注释)
3.镜像的操作命令
4.容器启动的命令(容器没有可执行的命令,就是退出stop,必须要个i容器一个可执行的持久化命令)
dockerfile的命令格式:
EROM:指定程序的基础镜像
MAINTAINER:维护者信息(可忽略)
镜像的操作命令:
RUN:在基础镜像运行命令,结果提交到新镜像,没执行一次run就相当于镜像的一层,run的命令太多,镜像的分层就越多,镜像越大。
ADD:将宿主机的文件复制到镜像的内部,可以URL和解压
COPY:将宿主机的文件复制到镜像的内部,只能是宿主机的文帝文件,不支持下载。
ENV:指定镜像内的容器运行之后的环境变量
WORKDIR:容器的工作目录,也是进入容器之后的默认目录 /opt/test1
USER:指定容器运行时的用户名或者uid
VOLUME:创建容器内的而挂载点,可被外部使用,即可以和宿主机挂载,也可以和容器使用
EXPOSE:声明容器对外的网络端口
ARG:用来传递变量,把宿主机的参数传递到容器内部的参数

容器启动命令:
CMD:指定容器运行的默认命令
ENTRYPOINT:指定容器运行的默认命令
区别:①cmd可以个ientrypoint传参,②entrypoint会覆盖cmd的命令,③当创建容器时,外部定义了参数,如果是cmd,会被外部的传参覆盖,只会执行的外部传参的命令,但是entrypoint的命令不会被外部传参的命令覆盖 ④如果有多个cmd和entrypoint只会执行最后一个

vim Dockerfile
docker build -t centos:test1
开启镜像操作
-t:创建完成之后个i镜像指定的名称和标签
 

run命令在一个dockerfile当中不能太多,命令太多,镜像分层越多,镜像就越大。

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

add和copy

1.add和copy在复制文件时,表现的是一致的。复制本地文件。
找和dockerfile在一个目录下的。自动复制到指定路径
2.解压和下载     add
ADD的优点,没有格式的限制       解压,gz.bz2直接上路劲,自动解压到目标路径
缺点:再不解压的前提下,无法复制tar的而压缩文件
 

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

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

相关文章

mycat介绍与操作步骤

文章目录 1.分库分表2.mycat 入门2.1 概述2.2 案例:水平分表1)准备工作2)配置3)启动并测试 3.mycat 配置详解3.1 schema.xml3.2 rule.xml3.3 server.xml 4.mycat 分片:垂直拆分1)准备工作2)配置…

苹果手机(IOS系统)出现安全延迟进行中如何关闭?

苹果手机(IOS系统)出现安全延迟进行中如何关闭? 一、设置二、隐私与安全性三、失窃设备保护关闭 一、设置 二、隐私与安全性 三、失窃设备保护关闭

线形回归与小批量梯度下降实例

1、准备数据集 import numpy as np import matplotlib.pyplot as pltfrom torch.utils.data import DataLoader from torch.utils.data import TensorDataset######################################################################### #################准备若干个随机的x和…

【Unity3D日常开发】Unity3D中打开Window文件对话框打开文件(PC版)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群:398291828小红书小破站 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 这篇文章继续讲如何使用Unity3D打开Window文…

iOS 逆向学习 - Inter-Process Communication:进程间通信

iOS 逆向学习 - Inter-Process Communication:进程间通信 一、进程间通信概要二、iOS 进程间通信机制详解1. URL Schemes2. Pasteboard3. App Groups 和 Shared Containers4. XPC Services 三、不同进程间通信机制的差异四、总结 一、进程间通信概要 进程间通信&am…

零基础 监控数据可视化 Spring Boot 2.x(Actuator + Prometheus + Grafana手把手) (上)

一、安装Prometheus Releases prometheus/prometheus GitHubhttps://github.com/prometheus/prometheus/releases 或 https://prometheus.io/download/https://prometheus.io/download/ 1. 下载适用于 Windows 的二进制文件: 找到最新版本的发布页面&#xf…

【API】免费调用Qwen-vl2对图像打标

首次调用通义千问API_大模型服务平台百炼(Model Studio)-阿里云帮助中心https://help.aliyun.com/zh/model-studio/getting-started/first-api-call-to-qwen?spma2c4g.11186623.help-menu-2400256.d_0_1_0.8c693048HxtUzZ&scm20140722.H_2840915._.OR_help-T_cn~zh-V_1 一…

CF 371A.K-Periodic Array(Java实现)

题目分析 这里的意思是一共n个值每k个一组循环,最少改变多少个值就能让循环相同 思路分析 我在这里首先想的是二维数组方便观察循环,依据题目即为每一竖列比较,哪一个值出现的最少那么那就是需要更改的次数,(此题在这儿不考虑需要…

信息科技伦理与道德3:智能决策

1 概述 1.1 发展历史 1950s-1980s:人工智能的诞生与早期发展热潮 1950年:图灵发表了一篇划时代的论文,并提出了著名的“图灵测试”;1956年:达特茅斯会议首次提出“人工智能”概念;1956年-20世纪70年代&a…

一路相伴,非凸科技助力第49届ICPC亚洲区决赛

2024年12月27日-29日,第49届国际大学生程序设计竞赛亚洲区决赛在西北工业大学圆满举行。非凸科技再次作为EC Final的主要赞助方,鼎力支持这群心怀梦想的青年才俊,激励他们勇攀科技高峰,实现创新突破。 EC Final参赛名额主要由当…

MPLS原理及配置

赶时间可以只看实验部分 由来:90年代中期,互联网流量的快速增长。传统IP报文依赖路由器查询路由表转发,但由于硬件技术存在限制导致转发性能低,查表转发成为了网络数据转发的瓶颈。 因此,旨在提高路由器转发速度的MPL…

《机器学习》——TF-IDF(关键词提取)

文章目录 TF-IDF简介TF-IDF应用场景TF-IDF模型模型参数主要参数 TF-IDF实例实例步骤导入数据和模块处理数据处理文章开头和分卷处理将各卷内容存储到数据帧jieba分词和去停用词处理 计算 TF-IDF 并找出核心关键词 TF-IDF简介 TF - IDF(Term Frequency - Inverse Do…

【计算机网络】窥探计网全貌:说说计算机网络体系结构?

标签难度考察频率综合题⭐⭐⭐60% 这个问题在计算机网络知识体系中是一个比较重要的问题,只有完整地了解计算机网络的体系结构才能清晰地认识网络的运行原理。 在回答这个问题时,笔者认为有几个比较重要的点: 首先一定要分清楚前置条件&am…

【前端】【CSS3】基础入门知识

目录 如何学习CSS 1.1什么是CSS​编辑 1.2发展史 1.三种导入方式 1.1、行内样式 1.2、外部样式 1.3、嵌入方式 2.选择器 2.1、基本选择器 (1)元素选择器 (2)类选择器 (3)id选择器:必…

【解决】okhttp的java.lang.IllegalStateException: closed错误

问题 Android 使用OKHttp进行后端通信,后端处理结果,反馈给前端的responseBody中其实有值,但是一直报异常,后来才发现主要是OkHttp请求回调中response.body().string()只能有效调用一次,而我使用了两次: 解…

从硬件设备看Linux

一、介绍 DM3730通过各种连接方式连接了各种设备,输入输出设备根据不同的类型大体可 以分为电源管理、用户输人、显示输出、图像采集、存储以及无线设备等。我们可以将DM 3730与这些设备的数据接口分为总线和单一的数据接口总线。总线的显著特点是单个总线上可以连…

【优选算法】DC-Quicksort-Mysteries:分治-快排的算法之迷

文章目录 1.概念解析2.颜色分类3.排序数组4.数组中的第k个最大元素5.库存管理Ⅲ希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力! 本篇是优选算法之分治-快排,快排可以在更短的时间内完成相同规模数据的排序任务,大大提升了…

浅谈云计算09 | 服务器虚拟化

服务器虚拟化基础 一、虚拟化的定义二、系统虚拟化三、服务器虚拟化的核心要义四、典型实现:探索不同路径五、全虚拟化与半虚拟化六、主流服务器虚拟化技术 一、虚拟化的定义 虚拟化是一种将物理资源抽象为逻辑资源的技术,通过在物理硬件与操作系统、应…

解析OVN架构及其在OpenStack中的集成

引言 随着云计算技术的发展,虚拟化网络成为云平台不可或缺的一部分。为了更好地管理和控制虚拟网络,Open Virtual Network (OVN) 应运而生。作为Open vSwitch (OVS) 的扩展,OVN 提供了对虚拟网络抽象的支持,使得大规模部署和管理…

第三十六章 Spring之假如让你来写MVC——拦截器篇

Spring源码阅读目录 第一部分——IOC篇 第一章 Spring之最熟悉的陌生人——IOC 第二章 Spring之假如让你来写IOC容器——加载资源篇 第三章 Spring之假如让你来写IOC容器——解析配置文件篇 第四章 Spring之假如让你来写IOC容器——XML配置文件篇 第五章 Spring之假如让你来写…