docker的底层原理,带你上天

奋斗吧
奋斗吧
擅长邻域:未填写

标签: docker的底层原理,带你上天

2023-07-10 18:23:30 83浏览

先查看当前机器上有哪些镜像这里选看mysql的层级docker image inspect mysql:5.7.29 命令。其中RootFS部分则是表示了分层信息。

1、docker的层级怎么看

先查看当前机器上有哪些镜像

docker images

这里选看mysql的层级

docker image inspect mysql:5.7.29 命令。其中RootFS部分则是表示了分层信息。

 2、查看docker的系统信息

因为这台机器的docker不是我安装的,所以不知道具体的根目录在哪里,可以使用下面的命令

docker info

 上面可以看到docker的信息

3、Docker 的默认工作目录 各文件夹的意义

Docker 的默认工作目录是 /var/lib/docker/,该目录包含了 Docker 的所有数据,包括镜像、容器、卷、网络等等。下面是 /var/lib/docker/ 目录下的一些常见子目录及其意义:

1. /var/lib/docker/containers/: 包含所有 Docker 容器的数据,每个容器会在该目录下创建一个子目录,存储该容器的相关数据,例如容器的元数据、日志和文件系统等。

2. /var/lib/docker/image/: 包含所有 Docker 镜像的数据,每个镜像会在该目录下创建一个子目录,存储该镜像的相关数据,例如镜像的元数据、层信息等。

3. /var/lib/docker/volumes/: 包含所有 Docker 卷的数据,每个卷会在该目录下创建一个子目录,存储该卷的相关数据,例如卷的元数据和卷中的文件。

4. /var/lib/docker/network/: 包含所有 Docker 网络的数据,每个网络会在该目录下创建一个子目录,存储该网络的相关数据,例如网络的元数据和配置等。

5. /var/lib/docker/plugins/: 包含所有 Docker 插件的数据,每个插件会在该目录下创建一个子目录,存储该插件的相关数据,例如插件的元数据和配置等。

6. /var/lib/docker/swarm/: 包含 Docker Swarm 的相关数据,例如节点的元数据、服务的配置、证书和密钥等。

7./var/lib/docker/overlay2:镜像和容器的层文件的实际存储目录

4、docker守护程序的日志在哪

Docker 守护进程的日志记录在系统日志中,具体位置和命名方式可能因操作系统而异。下面是一些常见的操作系统和对应的 Docker 日志文件位置:

- Ubuntu 16.04及更早版本: /var/log/upstart/docker.log
- Ubuntu 18.04及更高版本: /var/log/syslog
- CentOS 7: /var/log/messages
- Debian/Ubuntu: /var/log/daemon.log

5、docker Overlay2 文件系统原理

拉取一个nginx镜像,观察拉取过程:可以看到镜像一共被分为6层拉取。

/var/lib/docker/overlay2/ 目录下也多了6个文件夹

 可以通过上面的docker image inspect nginx查看层级

在下载镜像时,Docker Daemon会检查镜像中的镜像层与宿主机文件系统中的镜像层进行对比,如果存在则不下载,只下载不存在的镜像层。

分层的原因:

  1. 分层最大的一个好处就是共享资源
  2. 有多个镜像都从相同的base镜像构建而来,那么宿主机只需在磁盘上保存一份base镜像;
  3. 同时内存中也只需加载一份base镜像,就可以为所有容器服务了,而且镜像的每一层都可以被共享。

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695