摘要: 1、常用的大部分镜像是怎么创建的? Docker 支持通过扩展现有镜像,创建新的镜像。 Docker Hub 中 99% 的镜像都是通过在 base 镜像中安装和配置需要的软件构建出来的 新镜像是从 base 镜像一层一层叠加生成的。每安装一个软件,就在现有镜像的基础上增加一层。 2、为什么要采用镜 阅读全文
posted @ 2020-11-13 15:56 Richardo-M-Lu 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 1、base镜像的特性是什么? 1、不依赖其他镜像,从 scratch 构建。 2、其他镜像可以之为基础进行扩展。 能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu, Debian, CentOS 等 2、docker cnetos的镜像大小200多 阅读全文
posted @ 2020-11-13 15:27 Richardo-M-Lu 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 1、如何查看一个镜像(例如hello-world)的dockerfile文件? dockerfile得到该镜像的docker hub页面去看 https://github.com/docker-library/hello-world/blob/7ecae6978055d2fb6960e2a29d24 阅读全文
posted @ 2020-11-13 14:52 Richardo-M-Lu 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 1、docker run -d -p 80:80 httpd启动了一个容器,实际的启动流程是怎样的? 1、Docker 客户端执行 docker run 命令。 2、Docker daemon 发现本地没有 httpd 镜像。 3、daemon 从 Docker Hub 下载镜像。 4、下载完成,镜 阅读全文
posted @ 2020-11-13 14:24 Richardo-M-Lu 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 1、docker的核心组件包括哪些? Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 - Container 2、docker采用的什么架构,客户端和服务器端如何通信? Docke 阅读全文
posted @ 2020-11-13 12:11 Richardo-M-Lu 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1. docker如何配置国内的镜像源? * ubuntu:cli输入 echo '{ "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" 阅读全文
posted @ 2020-11-13 11:18 Richardo-M-Lu 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 容器的思想是什么? 容器是集装箱的思想,容器消除了开发、测试、生产环境的不一致性。 容器和虚拟机的区别? 容器在 Host 操作系统的用户空间中运行,与操作系统的其他进程隔离。这一点显著区别于的虚拟机。 容器的定义? 容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同 阅读全文
posted @ 2020-11-13 10:14 Richardo-M-Lu 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 需求: 实现一个能将调用信息记录到日志的装饰器: 1、把每次函数的调用时间,执行时间,调用次数写入日志 2、可以对被装饰的函数分组,调用信息记录到不同的日志 3、动态修改参数,比如日志格式 4、动态打开关闭日志输出功能 @call_info(arg1,arg2,arg3...) def func(a 阅读全文
posted @ 2020-11-11 16:47 Richardo-M-Lu 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 需求: 在某项目中,程序运行效率较差,为分析程序内哪些函数的执行开销较大,我们实现了一个 带timeout参数的函数装饰器,装饰功能如下: @warn_timeout(1.5) def func(a,b): ... 1、统计被装饰函数的单次调用运行时间 2.时间大于参数timeout的,将此次函数调 阅读全文
posted @ 2020-11-11 15:52 Richardo-M-Lu 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 需求: 实现一个装饰器,它用来检查被装饰函数的参数类型,装饰器可以通过参数来指明函数参数类型,调用时如果检测出参数不匹配则抛出异常 @type_assert(str,int,int) def f(a,b,c): .... @type_assert(y=list) def g(x,y): .... 思 阅读全文
posted @ 2020-11-11 15:05 Richardo-M-Lu 阅读(113) 评论(0) 推荐(0) 编辑