Docker-详细信息和目录介绍

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:

Docker基本情况(本小节属于)

Docker基本命令

Dockerfile

Docker镜像

Docker仓库

Docker原理

Docker网络&存储&日志

Docker-Compose

Docker番外篇

当我们docker安装完毕并并启动以后,我们如何知道docker的相关的具体信息呢,比如下载的镜像存储在哪里,docker产生的日志在哪里等。

我们就通过docker相关命令来查看docker相关相关信息。

[root@localhost docker]# docker info
Client: Docker Engine - Community
 Version:    26.1.4
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.14.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.27.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose
#以上主要介绍的是客户端信息,也就是docker这个命令对应的信息
#这里compose从20.10开始已经集成
#如果是默认1.31.版本还还需要手工安装

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 #这里统计的是容器和镜像数量

 Server Version: 26.1.4
 Storage Driver: overlay2
 #这里介绍的docker的存储驱动
 #不同的操作系统,不同的docker版本是不一样的
 #早期的版本甚至会直接使用裸盘
 
  Backing Filesystem: xfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 #日志驱动,容器产生的日志原始文件是json格式的
 
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 #docker和kvm一样也是通过cgroup限制资源,这里的版本是v1

 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
#这里的是提示支持的网络插件和日志插件
#单独用一般都是前2种,随着k8s会有更复杂
#日志则可根据需要输出到指定地方,而不用存储在本地

 Swarm: inactive
 #所谓的docker3剑客之一,基本上被k8s淘汰了
 
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 #运行时,可以理解具体的容器实现,docker只是方便管理
 #k8s也可以直接调用这个运行时

 Init Binary: docker-init
 containerd version: d2d58213f83a351ca8f528a95fbd145f5654e957
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 #各种软件具体的版本

 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 3.10.0-1160.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 990.9MiB
 Name: localhost.localdomain
 ID: b67e63a0-b6cb-4f9b-8e62-6730dea469e4
 #上面是一些系统信息,包括内核,系统,架构,cpu,内存主机名等

 Docker Root Dir: /var/lib/docker
 #docker数据目录,下载的镜像,运行的docker产生的数据都这个目录

 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 #docker命令和仓库默认是https通信,这个地址则可以不进行检查或者不使用https
 Live Restore Enabled: false

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

通过上面的信息,我们就可以查看到docker的详细信息。下面的则是docker的数据目录,也就是上面的Docker Root Dir目录下的内容。

[root@localhost docker]# pwd
/var/lib/docker
[root@localhost docker]# ll
total 0
drwx--x--x 4 root root 120 Nov 20 08:06 buildkit   //构建目录
drwx--x--- 2 root root   6 Nov 20 08:06 containers //容器目录
drwx------ 3 root root  22 Nov 20 08:06 image      //镜像目录
drwxr-x--- 3 root root  19 Nov 20 08:06 network    
drwx--x--- 3 root root  40 Nov 20 08:06 overlay2   //镜像+容器目录
drwx------ 4 root root  32 Nov 20 08:06 plugins
drwx------ 2 root root   6 Nov 20 08:06 runtimes
drwx------ 2 root root   6 Nov 20 08:06 swarm
drwx------ 2 root root   6 Nov 20 08:06 tmp
drwx------ 2 root root   6 Nov 20 08:06 trust
drwx-----x 2 root root  50 Nov 20 08:06 volumes   //存储卷对应的目录

buildkit

这个目录用于存储 BuildKit 相关的数据。BuildKit 是 Docker 用于构建容器镜像的组件,它提供了高效的镜像构建功能。在这个目录中存放着构建镜像过程中的缓存、中间文件以及构建上下文等信息,这些数据有助于加速后续的镜像构建操作。

containers

用于存储每个容器的相关数据。每个容器在这里都有自己的子目录,其中包含容器的配置文件、日志文件以及容器的运行状态信息等。例如,容器的启动命令、环境变量设置、挂载的卷信息等都可以在这里找到相应的文件记录,这些文件对于容器的管理和故障排查非常重要。

image 

主要用于存储容器镜像的相关数据。包括镜像的分层信息、元数据(如镜像的标签、创建日期等)。镜像在 Docker 中是分层存储的,这种分层结构有助于减少存储占用并且方便镜像的共享和更新。这里的文件记录了每个镜像层的内容以及它们之间的关系。

overlay2

如果 Docker 的存储驱动使用的是overlay2(这是一种常见的存储驱动),这个目录就用于存储容器和镜像的文件系统数据。它通过分层的方式来管理存储,将只读的镜像层和可写的容器层存储在这里,并且利用overlay2的特性来实现高效的文件读写和存储管理。

volumes

用于存储 Docker 卷(Volumes)相关的数据。Docker 卷是用于持久化容器数据的一种方式,它可以在容器之间共享数据,并且数据在容器删除后仍然可以保留。这个目录中存放着卷的配置文件、数据文件等,通过挂载卷,容器可以访问和操作这些持久化的数据。

通过docker info和docker目录的介绍,我们基本认识了安装完成以后在服务器里面的构成和详细信息,对我们理解docker是非常有用的。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值