《 Docker 进阶与实战 》 读书笔记

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

以下内容全文出自书目:《 Docker 进阶与实战 》

1. Docker 定义:一个开源的容器引擎,可以方便地对容器进行管理,不同容器可以共享底层的只读镜像。

2. Docker 是一个典型的 C/S 架构的应用。

3. Docker deamon 可以被理解成 Docker  Server ,也常常用 Docker  Engine 来描述它。

4. 容器以镜像为基础,同时又为镜像提供了一个标准和隔离的执行环境。镜像是这个运行环境的静态体现。

5. Registry 是存放镜像的仓库,通常被部署在服务器或者云端。支持镜像的分发和更新。

    仓库的名字通常由两部分组成,中间以斜线分开,前是用户名,后是镜像名。如:tom/ubuntu 。

    Docker 公司提供的官方 Registry 叫 Docker Hub 。鉴权认证保证了 Registry 访问的安全性。

    若要将镜像 push 到第三方 Registry , 那么镜像名中必须包含该 Registry 地址。

    其实 Registry 也是一个单独的开源项目。任何人都可以下载后部署一个自己的 Registry 。

 

6. Docker  的安装:

sudo ape-get install docker.io

7. Docker  Container : 内核容器技术。自动构建时当前机器的配置不会影响镜像的构建过程。

    Docker  容器与主机共享操作系统内核。

8. 容器虚拟化是一种操作系统虚拟化,属于轻量级的虚拟化。

9. Namespace : 命名空间 / 名字空间,主要作访问隔离。将内核的全部资源作封装,使得每个空间有一份独立资源,不同进程在各自空间内对同一种资源的使用不会相互干扰。

10. Cgroup  是 Control group 的简称,亦称为控制组,主要作资源控制。用于限制和隔离一组进程对系统资源的使用。

11. 容器组成公式:

容器 = cgroup + namespace + rootfs + 容器引擎(用户态工具)Cgroup : 资源控制Namespace : 访问隔离rootfs :文件系统隔离容器引擎 :生命周期控制

12. $$ 表示当前进程。

13. IPC 是 Inter - Process Communication 的简写:进程间通信。

14. Mount Namespace 用于隔离文件系统挂载点,删除方式:

ip netns delete new_ns 

15. host 的普通用户进程在容器里可以是 0 号用户,也就是 root 用户。

16. Docker  image 是用来启动容器的只读模板。

17. 导入镜像有 2 个可用命令:

docker import / docker load 。 docker load  一般只用于导入由 docker save 导出的镜像。

18.生成镜像方式:

docker commit :可增量的生成一个镜像。docker build : 通过 dockerfile 文件生成镜像。

19. 列出容器:

docker ps 

20. 列出镜像:

docker images 

21. 查看容器和镜像详细信息:

docker inspect 

22. Docker images 包含数据必要的元数据。数据由一层层的 image layer 组成,元数据则是一些 JSON 文件。用来描述数据(image layer)之间的关系及容器的一些配置信息。

23. Docker  对镜像进行了完整性校验,其完整性的凭证是由镜像仓库提供的。

24. image ID 实际上只是最上层的 layer ID,所以 Docker  inspect 也适用于任何一层 layer 。

25. “ env ”  : 容器启动时会作为容器的环境变量。“ Cmd ” : 容器启动时的默认命令。

26. Docker  image 可使用写时复制,快并节省空间。

27. 若制作 image 时使用到了上些关键信息(账号、密码等),则需要在同层删除,不然这些信息会一直存在于 image 中。

28. 若下载镜像不带标签,会把 ubuntu 仓库下官方(默认 tag )镜像全部下载。

29. 沙盒:隔离的网络运行环境,保存了容器网络栈的配置,包括了对网络接口、路由表和 DNS 配置的管理。

30. docker create 、 docker run 可带参数:-v : 添加数据卷,并可多次指定来挂载多个数据卷。

      -v 会在容器的 /tmp/data 目录下创建一个新的数据卷。

      可用 docker Inspet 查看数据卷在主机中的位置。

      -v 也可将 Docker  daemon 所在主机上的文件或文件夹挂载到容器中。

      -v 参数的主机目录必须使用绝对路径,若指定路径不存在, Docker 会自动创建该目录。

       使用数据卷容器存储的数据不会轻易丢失,删除容器、甚至是初始化该数据卷的 dbdata ,该数据卷也不会被删除。

31. 在本机部署 Convoy 插件后可用 Convoy 创建一个卷: ( 见书 P103 )

sudo convoy create volume_name

删除:

sudo convoy delete volume_name

备份:

sudo convoy backup create snaplvoll --dest vfs:///opt/convoy/

32. Linux 的命令 ulimit 可对一些资源起限制作用,包括:

core dump 文件的大小、进程数据段的大小、可创建文件的大小、常驻内存集的大小 、打开文件的数量、进程栈的大小、CPU 时间 、单个用户最大线程数、进程最大虚拟内存

33. Docker 可设置容器的根文件系统为只读模式。

34. Dockerfile 由四部分组成:

基础镜像信息、维护者信息、镜像操作指令、容器启动命令

     其第一条有效信息必须是基础镜像信息: FROM 指令。用来指定要制作的镜像继承自哪个镜像。

     可以写多个  FROM 指令来构建复杂镜像。     

EXPOSE : 暴露端口CMD :容器启动时执行的命令。每个 Dockerfile 只能有一条 CMD 命令,写了多条时只有最后一条会被执行。若用户启动容器时指定了运行命令,则会覆盖 CMD 指定命令。VOLUME :创建一个可从本地主机或其它容器挂载的挂载点。常用来存放数据库或需要永久保存的数据。ENV :指定一个环境变量。被后续 RUN 命令使用并在容器运行时保持。

35. Docker 制作镜像的顺序:

1. 解析 Dockerfile,找到基础镜像。2. 以基础镜像为基础,创建一个容器。3. 在容器中按顺序执行 Dockerfile 中的命令。4. 若不是 RUN 命令,如 ENV 命令,记录下来以便启动时执行。5. 把属性命令记录在 Image 的属性中。6. 所有命令执行完后,commit 该容器为新的镜像。

36. Docker run 命令中用 -p 实现端口映射。

      80:8089  表示将主机上的 80 端口映射到容器中的 8089 端口。(对外端口:容器内端口)

37. Docker build 命令可跟参数 -f :指定 build 命令中的 “ dockerfile ”  选项来设置所需的 Dockerfile 。

38. docker-compose-yml 文件中:

1. “ ports ” 对应 docker run 中的 -p 参数。2. “ volumes ” 对应 -v 选项。3. “ links ” 对应 “ --links ” 选项。

39.搭建 Jenkins 环境有 2 种方式:

     1) 直接在主机中配置 Jenkins 环境 。

     2) 使用  Docker 镜像配置 Jenkins 环境:

1. 下载 Jenkins 镜像:  docker pull jenkins2. 启动 Jenkins 容器: docker run -d -p 49001:8080 -t Jenkins-d : 后台运行; -p : 端口映射; -t :给容器命名。

 

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

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

相关文章

农村女人与城市女人的差别

1、农村女孩20岁结婚当妈很普遍,城市女孩三十多岁做剩女很普遍。 2、农村女孩对男方主要谈彩礼和家庭条件;城市女孩对男方主要谈房子和车子。 3、农村女人婚后不管经济条件如何立马生孩子,且基本上是两胎以上;城市女人婚后得看条件计划生孩子&…

【转】R语言函数总结

原博;R语言与数据挖掘:公式;数据;方法R语言特征 对大小写敏感通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母)。不过,一个命名必须以 . 或者字母开头,并且如…

《工作前5年,决定你一生的财富》三公子TXT,PDF,epub,mobi,azw3,kindle电子书下载

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 去年收到编辑出书的邀约,想让我把这些年的理财心得做个整理,跟学习理财的朋友一起分享。其实,收到邀…

潜藏在人体体内的12种毒素

人的身体内有12大毒素为细菌的增殖和侵袭铺好了道路。百病不生,就得清除身体内的12毒素。身体内有哪些毒素以及百病不生的解决方法: 体内毒素1.坏胆固醇 坏胆固醇主要表现为:初期没有自觉症状,出现黄色瘤(淡黄色的脂肪肿块)时…

const型数据小结

以下面Time类为例&#xff1b; #include<iostream> using namespace std; class Time { public:Time(int,int,int);void fun();int hour; int minute; int sec; }; Time::Time(int h,int m,int s) { hourh; minutem; secs; }; 形 式 含 义 Tim…

《趋势的力量》-- 观念决定了个人发展的战略路线(大学生选择专业、就业、考研与否的建议)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 最近几天看了好几本书&#xff0c;其中这一本个人觉得很有启发意义。于是记录一二。 主体大纲&#xff1a; -------------------------…

广州交警发布科目三电子路考操作要点

眼看着驾考科目三正式实施新考法的日子就要来了&#xff0c;不少在4月15日之后考试的学员开始着急了&#xff0c;这科目三的电子考到底考什么&#xff1f;不仅学员说不清楚&#xff0c;许多驾校教练也说不清楚&#xff0c;他们只能根据经验猜想个大概。现在好了&#xff0c;官方…

中间件 - 初识

中间件 - 初识 ​ 在Java项目实际开发中&#xff0c;我们所使用的ActiveMQ、RibbitMQ、Kafka、Tomcat、WebLogic&#xff0c;这些都可以统称为中间件。 ​ 我们初次去了解&#xff0c;什么是中间件? 一、中间件简介 ​ 什么是中间件&#xff1f; ​ 由于业务、机构和技术是不断…

VUE 解决:Property or method “deleteFun“ is not defined on the instance but referenced during render.

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 一个点击事件报错&#xff1a; Property or method "deleteFun" is not defined on the instance but referenced during…

广州交警发布路考秘籍 科目三扣分点近80项

科目三扣分点近80项 设定13种不合格情形 电子路考16日将正式全面实行&#xff0c;昨日&#xff0c;广州市交警部门发布《科目三路考系统操作指南和评判标准》。据不完全统计&#xff0c;人工评判加上计算机评判&#xff0c;扣分点多达近80项&#xff0c;还设定了13种情形一律不…

js中动态引入css样式文件

function loadStyles(url) {var link document.createElement("link");link.rel "stylesheet";link.type "text/css";link.href url;var head document.getElementsByTagName("head")[0];head.appendChild(link); } 使用&#xf…

java 字符串拆分成单个字符放到 list 集合

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 解决方法&#xff1a; 例如把“我是谁”拆开放到list中 public static void main(String args[]) {String verify"我是谁";…

修改滚动条的样式

<style>.innerbox{overflow-y: auto;background-color: #f8f8f8;height: 200px;padding: 10px;}.innerbox::-webkit-scrollbar {/*滚动条整体样式*/width: 4px; /*高宽分别对应横竖滚动条的尺寸*/height: 4px;scrollbar-arrow-color:red;}.innerbox::-webkit-scrollb…

2014年广州科目三道路驾驶技能考试/广汕路科目三路考系统操作和评判指南

一 上车准备 上车准备操作要点&#xff1a; 绕车一周&#xff0c;观察车辆外观和周围环境&#xff0c;确认安全。 考生绕车一周&#xff0c;检查轮胎气压、轮胎磨损情况、轮胎螺栓有无松动&#xff0c;检查有无漏水、漏油等情况&#xff0c;车辆外观有无凹凸等碰撞情况&…

滚动条插件nicescroll的使用

https://www.hangge.com/blog/cache/detail_1931.html 使用&#xff1a; 需要引入jQuery插件和 jquery.nicescroll.js插件 修改滚动条&#xff1a; $("#thecondMenu_container").niceScroll({   cursorcolor: "#b3b3b3",   background: "#eee&quo…

Bootstrap 中: data-toggle 与 data-target 的作用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 <buttontype"button"class"update-button"style"width:70px; height:40px;"data-toggle"modal&…

JS动态添加、删除classl类

添加&#xff1a;document.getElementById("id").classList.add("className")&#xff1b; 删除&#xff1a;document.getElementById("id").classList.remove("className")&#xff1b; jQuery版的添加和删除class类 $(" "…

人生有三件事不可俭省

无论世界变得如何奢华&#xff0c;我还是喜欢俭省。这已经变得和金钱没有很密切的关系&#xff0c;只是一个习惯。我这样说&#xff0c;实在是因为俭省的机会其实很廉价&#xff0c;俯拾即是遍地滋生。比如不论牙膏管子多么丰满&#xff0c;但你只能在牙刷毛上挤出1.5到2厘米的…

MyBatis : Mapper 接口以及 Example 使用实例、详解

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、mapper接口中的方法解析 mapper接口中的函数及方法 方法 功能说明 int countByExample(UserExample example) thorws SQLExcept…

《学习R》笔记:科学计算器、检查变量和工作区、向量、矩阵和数组、列表和数据框...

一、第二章 科学计算器 要检查两个数字是否一样&#xff0c;要使用 all.equal() ,不要使用 &#xff0c; 符号仅用于比较两个整型数是否存在相同 。 > all.equal(sqrt(2)^2,2) [1] TRUE > all.equal(sqrt(2) ^ 2,3) [1] "Mean relative difference: 0.5" >…