Docker容器技术实战1

news2024/11/19 16:35:11

1、docker容器

78d8f62c4b2447baa17e6adf1392ecf4.png

docker相当于传统的货运集装箱

虚拟机(Virtual Machine,VM)是一个完整的虚拟操作系统和硬件环境。它的工作原理是通过在一台物理主机上使用虚拟化软件来创建多个虚拟机实例,每个实例都可以运行独立的操作系统和应用程序。每个虚拟机都有自己的虚拟硬件和资源分配,并且可以在不同的物理服务器之间迁移。虚拟机提供了更高的隔离性安全性,适合于运行多个操作系统和复杂的应用程序环境。

Docker是一个轻量级的容器化平台,它使用操作系统层面的虚拟化技术,将应用程序及其依赖打包为一个可移植的容器,然后在主机的操作系统上运行。Docker容器共享主机操作系统的内核,因此比虚拟机更轻量级和高效。容器可以在不同的主机之间轻松部署和迁移,并且启动时间非常快速。Docker适合于部署单个应用程序或服务,并提供了更高的可伸缩性和性能

建立第一个docker容器

44081d932b9045d8b32e5dadee6d81af.png1cefec3119504ba09ca14c745814276f.png3490f3d40fa94f229c9217d66fff4bc6.png

安装docker-ce

b6bd4c195744468fa8604d1d5cc7d327.png

设置开机自启

ad193c38857f4cf192c26075c1db01e7.png

激活内核选项并重启服务

69ed316d6f9448b6ae6b830a92f5abd3.png8ba0783038bb46b1b73c8182f8222774.png

启动容器并查看已激活容器

ac826931d62946679b0bf22597272d03.png

访问

f3969697c41b45318da2c1ff52c27ab8.pngacfe52472d2442d08dd17e9fcbf71221.pnge9a9ccba965247a8a9b08d1aa013861b.pngc34181a0c93744f097691b20615652c4.png

2、docker镜像

3ded2de3c4e94b89ad356dd1b7779552.png

Docker镜像的分层结构是Docker的一个重要概念,它是Docker镜像的构建和管理的基础。Docker镜像的分层结构简单可以描述为以下三层:

(1)基础层:每个Docker镜像都由一个或多个基础层开始。基础层是只读的,包含了操作系统的文件系统和软件包.

(2)中间层:在基础层之上,可以有任意数量的中间层。中间层为镜像添加了文件、配置等内容,每一层都是镜像的一部分。

(3)顶层:最后一层是顶层,也被称为容器层。这是可写层,它使得Docker容器可以在只读的基础层上进行读写操作。当Docker容器运行时,任何对文件系统的更改都会被记录在这个层中。

分层结构的最大好处是层与层之间可以进行资源的共享,这种分层结构使得Docker镜像的创建、存储和传输都变得高效和灵活。.

b03b2f86a02d43dc80dfc0e8895adb50.png

存储所有镜像文件内容的目录(绝对不能随意删除)

afdfeccf3b594a5ba0d3116df7c2a6e3.png

镜像的构建

bcaa1121c78d41f2b36ae2ccf4104a37.png镜像层是只读的,修改的东西只保存在容器层,当保存的时候,容器层就会保存成新的镜像层,一个镜像最多127 层;

docker 从上往下会依次查找文件,这样修改的内容就会被优先读取到。

6e9b28d97cd34ab4a14a798517bbf33c.png744b8bfc6bd34e62ab310afb6f855728.pngaeb84dbebd5945998c7c6e7ff4d01c34.png

注:容器层是与容器生命周期保持一致的,删除容器时,容器层也会同步被删除。

19d15b99f29f45248c2d770bdb489c03.png

此种方法不利于安全审计

构建镜像

14f92b1210764f37bba7ba4f4c7ed6aa.png8c0fb2397872400baafbce3025cf6a7c.png

Dockerfile详解

75a5eb8ee0b34ea39e90c2ac2c4a7955.pngde81c127c0ef4577a3ec5074acec79d0.pngbc817cd2a42c49e1b81fec0783727e07.pnga1a8f994fcd74702a660a1b7f2e36787.png01424de70c894df8ab56952a6acdb296.pnge572e986364f45b0b03e5921b0571eee.png6ec3aa2e99324d6792a9c45fae1ca6b7.pngd15472c042bd443f9b5fcccb209d5e40.png8df9be0e12f649f0b654502e746f1430.png12bb732f716b41f0a80a7bae2f7d3aad.png相当于将命令集成使用

03403348d4374eb09cc7ae298567deec.pnge9626f39f2904166ba0ee61c37be9959.png90f60c3e89194b028d3006859594d819.png

自动删除所有已经被停止的容器

cc846fd111794e138ca84bb7072a7e59.png

查看容器详情

13b5a294d54c4513b17b9fc316b2d30e.png

数据卷挂载

4e510b37c37d4929a8139f2ba1a07d51.png

自动分配的IP

2b47e6d5443e47e4a4317312921db292.png

访问容器

c15af5052ff04f8bbdfefaf59cd51941.png

此地址无法使用外部浏览器进行访问,因为没有做端口映射,这是一个私有网段,无法从windows访问。

3、镜像的优化

50db183fed5543798bfab0d1847f48a9.png

缩减镜像层

51bfc02439b842838716e29b8b8b11e5.pngf678fce5540442e195457b48523ee180.png

缩减镜像层数,删除中间产物

38639944103747ec8242242740ffcd04.png2948244bdf6f4b0b8a11aec92aa8ec94.png

多阶段构建

969077df713442f78050d2e6c30785aa.png

导入基础镜像

0dd982ed830047ef9ea9307667344f21.png

nginx依赖库地址:nginx-distroless/Dockerfile at master · kyos0109/nginx-distroless · GitHub

拷贝依赖库

cbbd22a8c405471ba17678ebca7825fc.pngfd613d66c5f74f4eaf3a718424fcac82.png

依赖库有错误的情况:18286ccb8aef41ec999ff10c96ad5516.png

重新构建:0169825592f44adb9709809d02699acc.jpeg66cd4aa57ae74b37964ee7f287738073.jpeg

 

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

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

相关文章

01-初识HTML和CSS

1.HTML与CSS 1.1.什么是HTML?什么是CSS? HTML是HyperText Markup Language(超文本标记语言) ​ 它不是一种编程语言,而是一种标记语言,用于告诉浏览器如何构造你的页面。它可以由一系列HTML元素组合成web开发人员想要的简单或者…

扬帆起航:许战海方法论日文版正式发布

近日,中国头部战略咨询机构‘许战海咨询’最新研究成果《中国汽车行业新能源转型战略》行业白皮书日文版,即将在日本发布。同时发布的日文版核心方法论白皮书还有《主品牌进化战略》、《第二招牌增长战略》、《链主品牌:制造业的竞争之王》等…

Python特征分析重要性的常用方法

前言 特征重要性分析用于了解每个特征(变量或输入)对于做出预测的有用性或价值。目标是确定对模型输出影响最大的最重要的特征,它是机器学习中经常使用的一种方法。 为什么特征重要性分析很重要? 如果有一个包含数十个甚至数百个特征的数据集,每个特征…

C++中多态的原理【精华】

虚函数表 通过一道题我们先感受一下编译器针对多态的处理 #include <iostream> using namespace std;class Base { public:virtual void Func1(){cout << "Func1()" << endl;} private:int _b 1;char _c };int main() {cout << sizeof(B…

Nginx的请求处理流程

左端有WEB、EMAIL及TCP三种流量&#xff0c;而绿色方框里边使用非阻塞的事件驱动处理引擎进行接收这三种流量&#xff0c;所以需要状态机进行很好地识别处理。当状态机识别需要访问静态资源&#xff0c;那么就需要到硬盘里边获取&#xff1b;如果是反向代理的话&#xff0c;可以…

记录--怎么写一个可以鼠标控制旋转的div?

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 说在前面 鼠标控制元素旋转在现在也是一个很常见的功能&#xff0c;让我们从实现div元素的旋转控制开始来了解元素旋转的具体原理和实现方法吧。 效果展示 体验地址 code.juejin.cn/pen/7290719… 实现…

go-logger日志组件分割日志

功能 支持同时输出到 console, file, url命令行输出字体可带颜色文件输出支持根据 文件大小&#xff0c;文件行数&#xff0c;日期三种方式切分文件输出支持根据日志级别分别保存到不同的文件支持异步和同步两种方式写入支持 json 格式化输出代码设计易扩展&#xff0c;可根据…

C的魅力在于指针

原有的adrv9025 代理框架很好用,在其原有的平台上做改进

BAT030:按列表名单将路径a下的文件夹批量复制到路径b

引言&#xff1a;编写批处理程序&#xff0c;实现按列表名单将路径a下的文件夹批量复制到路径b。 一、新建Windows批处理文件 参考博客&#xff1a; CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件&#xff0c;点击…

Unity之ShaderGraph如何实现飘动的红旗

前言 今天我们来实现一个飘动的红旗 如图所示&#xff1a; 关键节点 SimpleNoise&#xff1a;根据输入UV生成简单噪声或Value噪声。生成的噪声的大小由输入Scale控制。 Split&#xff1a;将输入向量In拆分为四个Float输出R、G、B和A。这些输出向量由输入In的各个通道定义&…

同花顺动态Cookie反爬JS逆向分析

文章目录 1. 写在前面2. 请求分析3. Hook Cookie4. 补环境 1. 写在前面 最近有位朋友在大A失意&#xff0c;突发奇想自己闲来无事想要做一个小工具&#xff0c;监测一下市场行情的数据。自己再分析分析&#xff0c;虽是一名程序员但苦于对爬虫领域相关的技术不是特别熟悉。最后…

开源文档编辑器ONLYOFFICE最新版7.5发布

开源办公套件 ONLYOFFICE 文档最新版 7.5 现已发布&#xff1a;全新 PDF 编辑器、自动断字、分页符和跟踪箭头、屏幕朗读器等诸多新功能。 什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一款开源的办公套件,由总部位于拉脱维亚的Ascensio System SIA开发。它支持处理文本文档、电…

请解释一下 CSS3 的 Flexbox(弹性盒布局模型), 以及适用场景?

解析: CSS3的Flexbox&#xff08;弹性盒布局模型&#xff09;是一种强大的布局技术&#xff0c;用于创建灵活和响应式的布局。它解决了传统CSS布局模型在垂直和水平居中、等高列、自适应宽度等方面的一些挑战&#xff0c;使开发人员能够更轻松地构建各种复杂的布局。在下面的详…

【Java笔试强训】Day2(OR62 倒置字符串,排序子序列)

OR62 倒置字符串 链接&#xff1a;倒置字符串 题目&#xff1a; 将一句话的单词进行倒置&#xff0c;标点不倒置。比如 I like beijing. 经过函数后变为&#xff1a;beijing. like I 题目分析&#xff1a; 我们先有一个整体的思路&#xff0c;然后用代码去实现&#xff1…

【高等数学】导数与微分

文章目录 1、导数的概念1.1、引例1.1.1、变速直线运动瞬时速度1.1.2、曲线的切线 1.2、导数的定义1.3、证明常用导数1.4、导数的几何意义1.5、可导与连续的关系 2、函数的求导法则2.1、函数的和、差、积、商的求导法则2.2、反函数的求导法则2.3、复合函数的求导法则2.4、基本初…

Win系统VMware虚拟机安装配置(二)

系统的安装得分两个步骤&#xff0c;第一步得配置一台电脑&#xff0c;选配 cpu&#xff0c;内存&#xff0c;磁盘&#xff0c;网卡等硬 件。第二步才是安装系统。 一、配置电脑 1、 进入 VMware 双击 VMware 图标&#xff0c;看到如下界面。 2、 自定义新的虚拟机 3、…

网络协议--IP:网际协议

3.1 引言 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输&#xff08;见图1-4&#xff09;。许多刚开始接触TCP/IP的人对IP提供不可靠、无连接的数据报传送服务感到很奇怪。 不可靠&#xff08;unreliable&#xff09;的意思是它不能…

苹果ipa文件签过名之后,不用分发可以直接下载安装到苹果手机上吗?安装原理与解决方案。

为什么我的苹果IPA文件不能安装到手机&#xff1f;我来说说&#xff0c;我们时常使用各种各样的应用程序来完成各类任务&#xff0c;获取信息和娱乐。但是&#xff0c;在众多的应用程序背后&#xff0c;有很多我们可能从未涉及的知识领域。其中&#xff0c;对于苹果设备上的ipa…

用 Java 在 PDF 中创建和管理图层,实现交互式文档

PDF 图层&#xff08;也称为可见图层或附加图层等&#xff09;是组织和管理 PDF 文档中内容可见性的一种方法。PDF 图层可用于创建交互式文档、隐藏或显示特定信息、创建多语言版本文档等。通过添加和删除图层&#xff0c;用户可以根据需要定制 PDF 文档指定内容的可见性与显示…

BAT031:按列表名单将路径a下的文件夹批量剪切到路径b

引言&#xff1a;编写批处理程序&#xff0c;实现按列表名单将路径a下的文件夹批量剪切到路径b。 一、新建Windows批处理文件 参考博客&#xff1a; CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件&#xff0c;点击…