戳蓝字“CSDN云计算”关注我们哦!

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。今天就让我们一起看看关于Docker 的精华问答吧。

1

Q:为什么说数据库不适合放在 Docker 容器里运行? 

A:不为什么,因为这个说法不对,大部分认为数据库必须放到容器外运行的人根本不知道 Docker Volume 为何物。在早年 Docker 没有 Docker Volume 的时候,其数据持久化是一个问题,但是这已经很多年过去了。现在有 Docker Volume 解决持久化问题,从本地目录绑定、受控存储空间、块设备、网络存储到分布式存储,Docker Volume 都支持,不存在数据读写类的服务不适于运行于容器内的说法。Docker 不是虚拟机,使用数据卷是直接向宿主写入文件,不存在性能损耗。而且卷的生存周期独立于容器,容器消亡卷不消亡,重新运行容器可以挂载指定命名卷,数据依然存在,也不存在无法持久化的问题。

2

Q:如何列出容器和所使用的卷的关系? 

A:要感谢强大的 Go Template,可以使用下面的命令来显示:

3

Q:docker pull 下来的镜像文件都在哪? 

A:初学 Docker 要反复告诫自己,Docker 不是虚拟机。Docker不是虚拟机,Docker 镜像也不是虚拟机的 ISO 文件。Docker 的镜像是分层存储,每一个镜像都是由很多层,很多个文件组成。而不同的镜像是共享相同的层的,所以这是一个树形结构,不存在具体哪个文件是 pull 下来的镜像的问题。

具体镜像保存位置取决于系统,一般Linux系统下,在 /var/lib/docker 里。对于使用 Union FS 的系统(Ubuntu),如 aufs, overlay2 等,可以直接在 /var/lib/docker/{aufs,overlay2} 下看到找到各个镜像的层、容器的层,以及其中的内容。但是,对于CentOS这类没有Union FS的系统,会使用如devicemapper这类东西的一些特殊功能(如snapshot)模拟,镜像会存储于块设备里,因此无法看到具体每层信息以及每层里面的内容。

需要注意的是,默认情况下,CentOS/RHEL 使用 lvm-loop,也就是本地稀疏文件模拟块设备,这个文件会位于 /var/lib/docker/devicemapper/devicemapper/data 的位置。这是非常不推荐的,如果发现这个文件很大,那就说明你在用 devicemapper + loop 的方式,不要这么做,去参照官方文档,换 direct-lvm,也就是分配真正的块设备给 devicemapper去用。

4

Q:docker images 命令显示的镜像占了好大的空间,怎么办?每次都是下载这么大的镜像?

A:这个显示的大小是计算后的大小,要知道 docker image 是分层存储的,在1.10之前,不同镜像无法共享同一层,所以基本上确实是下载大小。但是从1.10之后,已有的层(通过SHA256来判断),不需要再下载。只需要下载变化的层。所以实际下载大小比这个数值要小。而且本地硬盘空间占用,也比docker images列出来的东西加起来小很多,很多重复的部分共享了。

5

Q:为什么 Docker Hub 的镜像尺寸和 docker images 不一致? 

A:Docker Hub上显示的是经过 gzip 压缩后的镜像大小,这个大小也是你将下载的镜像大小,一般来说也是 Docker Hub 用户最关心的大小。而 docker images 显示的是pull下来并解压缩后的大小,因为使用docker images的时候更关心的是本地磁盘空间占用的大小,所以这里显示的是未压缩镜像的大小。

小伙伴们冲鸭,后台留言区等着你!

关于Docker,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~

福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!

推荐阅读:

  • 刷了一个半月算法题,我薪资终于Double了

  • 掌声送给TensorFlow 2.0!用Keras搭建一个CNN | 入门教程

  • 中国AI开发者真实现状:写代码这条路,会走多久?

  • 520 这天,我突然意识到,她根本配不上我这么聪明的男人

  • 厉害!女学生偷师男子学校,变身区块链开发工程师

  • 确实, 5G与物联网离不开区块链!

  • Linux 之父:我就是觉得苹果没意思!| 人物志

真香,朕在看了!

Docker精华问答 | 数据库为什么不适合放在 Docker 中运行?相关推荐

  1. Docker精华问答 | Consul是什么?

    在计算机技术日新月异的今天, Docker 在国内发展的如火如荼.特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,那么今天我们继续关于Docker 的精华问答 ...

  2. Docker精华问答 | Docker vs VM

    在计算机技术日新月异的今天, Docker 在国内发展的如火如荼.特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,那么今天我们继续关于Docker 的精华问答 ...

  3. Docker精华问答 | 多个 Docker 容器之间共享数据怎么办?

    在计算机技术日新月异的今天, Docker 在国内发展的如火如荼.特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,那么今天我们继续关于Docker 的精华问答 ...

  4. Docker精华问答:Docker与虚拟机的区别?| 技术头条

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 1 ...

  5. Docker精华问答 | 如何让一个容器连接两个网络?

    如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展.今 ...

  6. Docker精华问答 | Docker镜像和Docker容器的关系?

    毫无疑问,Docker成了近些年来最火热,甚至最具颠覆性的技术之一.国际上,所有泛云计算相关的公司,几乎都在某种程度上宣布支持并集成Docker.在2014年6月的DockerCon中,很多公司都分享 ...

  7. Docker精华问答 | task与executor有什么关系?

    戳蓝字"CSDN云计算"关注我们哦! 容器技术是这两年热门的话题,因为容器技术给我们带来了很多方便的地方,节约了不少成本,不管是在运维还是开发上.今天,就让我们来看看关于Docke ...

  8. Docker精华问答 | Docker commit如何用?

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 1 ...

  9. 微服务精华问答:什么是微服务架构中的DRY?| 技术头条

    微服务(Microservice Architecture)是近几年流行的一种架构思想,关于它的概念很难一言以蔽之. 究竟什么是微服务呢?今天就让我们一探究竟. 1  Q:什么是微服务架构中的DRY? ...

最新文章

  1. Bootstrap4 导航栏元素居右
  2. Python中时间戳与时间字符串相互转换
  3. Python字典dict的增删查改及常用操作
  4. Hyper-v Server动态内存
  5. 20190421-那些年使用过的CSS预处理器(CSS Preprocessor)之Sass and Less
  6. LeetCode 1108. IP 地址无效化
  7. canvas drawbitmap不出现_JS实现简单的画板(canvas),可在PC和移动端实现。
  8. Python基础(map/reduce)
  9. cocostudio中的一些控件的使用
  10. PC 和开发板之间传输文件
  11. 如何用Python绘制多种风玫瑰图
  12. 向前logistic回归与向后筛选出一样的变量_生存分析之Cox回归
  13. 目标检测之YOLOv4算法分析
  14. 批量修改指定文件夹里面相同类型文件的扩展名(转自Github,原作者Crag Richards)
  15. 船长的error笔记
  16. python中scroll的用法_Python_关于self.cur.scroll()的使用理解
  17. CAD角度标注命令,标注CAD图纸
  18. 免费java空间_jsp以及免费jsp空间的申请
  19. Arduino 开锁,刷卡开锁模块
  20. 支付宝商户订单被退款,如何追回?

热门文章

  1. angular 字符串转换成数字_Angular日期在TypeScript中格式化转换应用
  2. android contacts 编辑,如何在Android中的.csv文件中逐行编写contactn...
  3. redis关键字删除_微信公众号文章防删除
  4. oracle resize什么意思,Oracle调整表空间大小resize
  5. 这篇 Linux 总结得很棒啊!
  6. 高校何时开学?教育部回应
  7. 丘成桐: 没有经过考验的创新,往往深度不够
  8. 二维码识别中面临的主要问题
  9. mysql移动文件后打不开_Windows端MySQL data目录迁移(貌似会启动不了)
  10. c语言打不开h文件,说那个“mem.h”头文件打不开 怎么改啊 高手们帮帮忙