Docker

Docker概述

为什么会出现?
一款产品:生产环境、测试环境
问题:环境配置十分麻烦,每个机器都要部署环境(集群Redis、ES、Hadoop….)费时费力
传统方式:开发jar,运维来做
现在:开发打包部署上线,一套流程做完
Docker为问题提供了解决方案,
相对于虚拟机而言,Docker非常的轻巧

在这里插入图片描述

Docker思想来源与集装箱,每个箱子互相隔离,通过隔离机制,将服务器利用到极致

Docker历史

2010年,美国成立一家公司dotCloud,做pass的容器技术(Linux有关的容器技术),将容器化技术命名为Docker
2013年,Docker开源
2014年4月9日,Docker 1.0发布

Docker是基于Go语言开发的
官网:Docker
仓库地址:docker仓库

Docker能做什么

之前的虚拟机技术

在这里插入图片描述

技术缺点

  1. 资源占用十分多
  2. 冗余步骤多
  3. 启动很慢

容器化技术

在这里插入图片描述

容器化技术并不是模拟一个完整的操作系统

Docker与虚拟机技术的不同

  • 传统虚拟机,虚拟出硬件,运行完整的操作系统,在系统上安装软件
  • 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,不虚拟硬件,所以非常的轻便,每个容器间是相互隔离的,每个容器内有属于自己的文件系统

DevOps(开发、运维)

应用更快速的交付与部署

  • 传统:一堆帮助文档、安装程序
  • Docker:打包镜像发布测试,一键运行

更便捷的升级和扩容

  • 使用了Docker之后,部署应用就像搭建积木一样
  • 项目打包为一个镜像,扩展服务器更简单

更简单的系统运维

  • 在容器化之后,开发与测试环境高度都是一致的

更高效的计算资源利用

  • Docker是内存级别的虚拟化,可以在一个物理机上可以运行很多的容器实例

Docker安装

Docker的基本组成

在这里插入图片描述

镜像(image)
docker镜像就类似模板,通过模板创建容器服务,tomcat镜像—>run—>tomcat01(提供故武器)
通过镜像创建多个容器(最终服务运行或者项目运行就是在容器中)
容器(container)
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的
可将容器理解为简易的Linux系统
仓库(repository)
仓库就是存放镜像的地方

安装Docker

环境查看(使用了云服务器Centos 7)

[root@VM-0-11-centos ~]# uname -r
3.10.0-1160.108.1.el7.x86_64
[root@VM-0-11-centos ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

云服务器ssh连接检测长时间未操作会自动断开,很麻烦,需要进行设置

  1. 进入ssh配置文件

     nano /etc/ssh/sshd_config
    
  2. 修改配置项

    ClientAliveInterval 30
    ClientAliveCountMax 86400
    
  3. 保存并退出

    输入Ctrl+x退出,会提示是否保存,输入Y表示yes,紧着着会显示保存的文件名,无需改动,直接回车

  4. 重启ssh服务

     service sshd restart
    

安装

  1. 安装包

     yum install -y yum-utils
    
  2. 镜像仓库

      yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  3. 更新yum软件源

    yum makecache fast
    
  4. 安装docker最新版
    docker-ce社区版

     yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  5. 若想安装指定版本

    a. 获取所有版本

     yum list docker-ce --showduplicates | sort -r
    

    b. 安装指定版本

     yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
    
  6. 启动docker

     systemctl start docker
    
  7. 查看docker版本

    [root@VM-0-11-centos ~]# docker version 
    Client: Docker Engine - Community
     Version:           26.1.3
     API version:       1.45
     Go version:        go1.21.10
     Git commit:        b72abbb
     Built:             Thu May 16 08:36:24 2024
     OS/Arch:           linux/amd64
     Context:           default
    
    Server: Docker Engine - Community
     Engine:
      Version:          26.1.3
      API version:      1.45 (minimum version 1.24)
      Go version:       go1.21.10
      Git commit:       8e96db1
      Built:            Thu May 16 08:35:20 2024
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.6.32
      GitCommit:        8b3b7ca2e5ce38e8f31a34f35b2b68ceb8470d89
     runc:
      Version:          1.1.12
      GitCommit:        v1.1.12-0-g51d5e94
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    
  8. hello-world

     [root@VM-0-11-centos ~]# docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    c1ec31eb5944: Pull complete 
    Digest: sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/get-started/
    

    回显解读

    a. 未找到镜像

     Unable to find image 'hello-world:latest' locally
    

    b. 拉取镜像,出现签名信息,拉取成功

     latest: Pulling from library/hello-world
    c1ec31eb5944: Pull complete 
    Digest: sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd
    Status: Downloaded newer image for hello-world:latest
    
  9. 查看下载的hello-world镜像

     docker image ls 
    
  10. 了解:卸载docker

    # 卸载依赖
    yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
    # 移除目录
    sudo rm -rf /var/lib/docker
    sudo rm -rf /var/lib/containerd
    
  11. 回顾hello-world
    在这里插入图片描述

阿里云镜像加速

  1. 进入阿里云官网,搜索镜像加速器,找到容器镜像服务

    在这里插入图片描述

  2. 点击管理控制台

    在这里插入图片描述

  3. 点击镜像工具,再点击镜像加速器,点击centos

    在这里插入图片描述

  4. 配置方法

    sudo mkdir -p /etc/docker
    # 编译配置文件
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://h879xgb2.mirror.aliyuncs.com"]
    }
    EOF
    
    sudo systemctl daemon-reload
    sudo systemctl restart docker 
    

底层原理

Docker怎么工作

Docker是一个Client-Server结构系统,Docker的守护进程运行在主机上。通过Socket从客户端访问。
DockerServer接收到DockerClient的指令,执行命令。

在这里插入图片描述

Dcoker为什么比VM快

  1. Docker有着比VM更少的抽象层
  2. Docker利用的是宿主机的内核,VM需要是Guest OS。Docker在新建容器的时候不会像VM一样重新去加载操作系统,而是使用宿主机操作系统,秒级启动。

Docker常用命令

帮助命令

帮助文档

# 版本信息
docker version
# 详细信息
docker info
# 万能命令
docker 命令 --help

镜像命令

docker images
[root@VM-0-11-centos ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    d2c94e258dcb   12 months ago   13.3kB
  1. REPOSITORY 仓库源
  2. TAG 标签
  3. IMAGE ID 镜像Id
  4. CREATED 创建时间
  5. SIZE 镜像大小
  6. Options
[root@VM-0-11-centos ~]# docker images -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker images [OPTIONS] [REPOSITORY[:TAG]]

List images

Aliases:
  docker image ls, docker image list, docker images

Options:
  -a, --all             Show all images (default hides intermediate images)
      --digests         Show digests
  -f, --filter filter   Filter output based on conditions provided
      --format string   Format output using a custom template:
                        'table':            Print output in table format with column headers (default)
                        'table TEMPLATE':   Print output in table format using the given Go template
                        'json':             Print in JSON format
                        'TEMPLATE':         Print output using the given Go template.
                        Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates
      --no-trunc        Don't truncate output
  -q, --quiet           Only show image IDs
docker search
[root@VM-0-11-centos ~]# docker search mysql
NAME                            DESCRIPTION                                     STARS     OFFICIAL
mysql                           MySQL is a widely used, open-source relation…   15079     [OK]
mariadb                         MariaDB Server is a high performing open sou…   5754      [OK]

可选项:
--filter=STARS=10000表示搜索STARS>10000的数据

[root@VM-0-11-centos ~]# docker search -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker search [OPTIONS] TERM

Search Docker Hub for images

Options:
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print search using a Go template
      --limit int       Max number of search results
      --no-trunc        Don't truncate output
docker pull
[root@VM-0-11-centos ~]# docker pull -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Download an image from a registry

Aliases:
  docker image pull, docker pull

Options:
  -a, --all-tags                Download all tagged images in the repository
      --disable-content-trust   Skip image verification (default true)
      --platform string         Set platform if server is multi-platform capable
  -q, --quiet                   Suppress verbose output
  1. 不指定版本下载

    Using default tag: latest不写tag,默认就是latest
    72a69066d2fe: Pull complete 分层下载,docker image的核心
    Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709签名信息
    docker.io/library/mysql:latest真实地址
    docker pull mysql<=等价=>docker pull mysql + docker pull docker.io/library/mysql:latest

    [root@VM-0-11-centos ~]# docker pull mysql
    Using default tag: latest
    latest: Pulling from library/mysql
    72a69066d2fe: Pull complete 
    93619dbc5b36: Pull complete 
    99da31dd6142: Pull complete 
    626033c43d70: Pull complete 
    37d5d7efb64e: Pull complete 
    ac563158d721: Pull complete 
    d2ba16033dad: Pull complete 
    688ba7d5c01a: Pull complete 
    00e060b6d11d: Pull complete 
    1c04857f594f: Pull complete 
    4d7cfa90e6ea: Pull complete 
    e0431212d27d: Pull complete 
    Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
    Status: Downloaded newer image for mysql:latest
    docker.io/library/mysql:latest
    
  2. 指定版本

    [root@VM-0-11-centos ~]# docker pull mysql:8.0
    8.0: Pulling from library/mysql
    Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
    Status: Downloaded newer image for mysql:8.0
    docker.io/library/mysql:8.0
    
docker rmi
  1. 通过IMAGE ID删除

    [root@VM-0-11-centos ~]# docker rmi c20987f18b13
    Untagged: mysql:5.7
    Untagged: mysql@sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
    Deleted: sha256:c20987f18b130f9d144c9828df630417e2a9523148930dc3963e9d0dab302a76
    Deleted: sha256:6567396b065ee734fb2dbb80c8923324a778426dfd01969f091f1ab2d52c7989
    Deleted: sha256:0910f12649d514b471f1583a16f672ab67e3d29d9833a15dc2df50dd5536e40f
    Deleted: sha256:6682af2fb40555c448b84711c7302d0f86fc716bbe9c7dc7dbd739ef9d757150
    Deleted: sha256:5c062c3ac20f576d24454e74781511a5f96739f289edaadf2de934d06e910b92
    
  2. 删除全部

    [root@VM-0-11-centos ~]# docker rmi -f $(docker images -aq)
    Untagged: hello-world:latest
    Untagged: hello-world@sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd
    Deleted: sha256:d2c94e258dcb3c5ac2798d32e1249e42ef01cba4841c2234249495f87264ac5a
    Untagged: mysql:8.0
    Untagged: mysql:latest
    Untagged: mysql@sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
    Deleted: sha256:3218b38490cec8d31976a40b92e09d61377359eab878db49f025e5d464367f3b
    Deleted: sha256:aa81ca46575069829fe1b3c654d9e8feb43b4373932159fe2cad1ac13524a2f5
    Deleted: sha256:0558823b9fbe967ea6d7174999be3cc9250b3423036370dc1a6888168cbd224d
    Deleted: sha256:a46013db1d31231a0e1bac7eeda5ad4786dea0b1773927b45f92ea352a6d7ff9
    Deleted: sha256:af161a47bb22852e9e3caf39f1dcd590b64bb8fae54315f9c2e7dc35b025e4e3
    Deleted: sha256:feff1495e6982a7e91edc59b96ea74fd80e03674d92c7ec8a502b417268822ff
    Deleted: sha256:8805862fcb6ef9deb32d4218e9e6377f35fb351a8be7abafdf1da358b2b287ba
    Deleted: sha256:872d2f24c4c64a6795e86958fde075a273c35c82815f0a5025cce41edfef50c7
    Deleted: sha256:6fdb3143b79e1be7181d32748dd9d4a845056dfe16ee4c827410e0edef5ad3da
    Deleted: sha256:b0527c827c82a8f8f37f706fcb86c420819bb7d707a8de7b664b9ca491c96838
    Deleted: sha256:75147f61f29796d6528486d8b1f9fb5d122709ea35620f8ffcea0e0ad2ab0cd0
    Deleted: sha256:2938c71ddf01643685879bf182b626f0a53b1356138ef73c40496182e84548aa
    Deleted: sha256:ad6b69b549193f81b039a1d478bc896f6e460c77c1849a4374ab95f9a3d2cea2
    

容器命令


说明:有了镜像才可以创建容器,接下来下载Linux镜像进行学习。


下载Centos
[root@VM-0-11-centos ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
新建容器启动
docker run [可选参数] image
	
# 参数说明
# 容器名
--name="Name"
# 后台运行
-d
# 使用交互方式,进入容器查看内容
-it
# 指定容器端口
-P
	- IP:主机端口:容器端口
	- 主机端口:容器端口(常用)
	- 容器端口
# 指定随机端口
-p
# 启动并进入容器,/bin/sh表示使用某种控制台,使用exit退出
[root@VM-0-11-centos ~]# docker run -it centos /bin/sh
[root@53297c93ffdf /]#
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@53297c93ffdf /]# exit
exit
[root@VM-0-11-centos ~]#
查看所有容器

docker ps列出正在运行的容器
-a列出历史运行过得容器+正在运行的容器
-n=?显示最近创建的容器
-q只显示容器的编号

[root@VM-0-11-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@VM-0-11-centos ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS                       PORTS     NAMES
53297c93ffdf   centos         "/bin/bash"   3 minutes ago   Exited (0) 2 minutes ago               kind_bartik
d069f2445619   centos         "/bin/sh"     3 minutes ago   Exited (0) 3 minutes ago               condescending_shtern
2946ca578760   centos         "/bin/bash"   4 minutes ago   Exited (0) 4 minutes ago               clever_wing
dc4d1eaac002   centos         "/bin/bash"   5 minutes ago   Exited (0) 4 minutes ago               zealous_khayyam
7d9cf09bebb6   centos         "/bin/bash"   5 minutes ago   Exited (127) 5 minutes ago             nice_yonath
eb662be68fcf   centos         "/bin/sh"     8 minutes ago   Exited (127) 5 minutes ago             vigorous_pasteur
714cbbcc4447   d2c94e258dcb   "/hello"      3 hours ago     Exited (0) 3 hours ago                 recursing_poitras
退出容器
# 停止并退出
exit
# 不停止退出
Ctrl+p+q
删除容器
# 删除指定容器
docker rm 容器id
# 删除所有容器 
docker rm -f $(docker ps -aq)
# 将docker ps -aq查到的结果作为参数传给后面的docker rm -f
# xargs管道符
docker ps -aq | xargs docker rm -f

正在运行的容器不能删除,需要先停止,或使用-f强制删除

[root@VM-0-11-centos ~]# docker rm adff3356b90f
Error response from daemon: cannot remove container "/admiring_bell": container is running: stop the container before removing or force remove
启动停止容器的操作
docker start + id
docker stop + id
docker restart + id
docker kill + id

其他命令

后台启动容器
docker run -d 容器名

问题:通过docker ps发现容器停止了
注意:docker容器使用后台运行,必须要有一个前台进程,docker发现没有前台应用了,就会自动停止。

查看日志
dcoker logs
# 编写shell脚本
"while true;do echo bai;sleep 1;done"

-ft按时间戳显示日志
--tail显示多少条

[root@VM-0-11-centos ~]# docker logs -ft --tail 10 c15dc01a5840
2024-05-25T11:04:54.343594484Z bai
2024-05-25T11:04:55.345588863Z bai
2024-05-25T11:04:56.347603148Z bai
2024-05-25T11:04:57.349619325Z bai
2024-05-25T11:04:58.351619539Z bai
2024-05-25T11:04:59.353635452Z bai
2024-05-25T11:05:00.355634019Z bai
2024-05-25T11:05:01.357652702Z bai
2024-05-25T11:05:02.359642460Z bai
2024-05-25T11:05:03.361716404Z bai
查看容器中的进程信息
[root@VM-0-11-centos ~]# docker top c15dc01a5840
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                30110               30089               0                   19:03               ?                   00:00:00            /bin/sh -c while true;do echo bai;sleep 1;done
root                32266               30110               0                   19:09               ?                   00:00:00            /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
查看镜像的源数据
[root@VM-0-11-centos ~]# docker inspect -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker inspect [OPTIONS] NAME|ID [NAME|ID...]

Return low-level information on Docker objects

Options:
  -f, --format string   Format output using a custom template:
                        'json':             Print in JSON format
                        'TEMPLATE':         Print output using the given Go template.
                        Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates
  -s, --size            Display total file sizes if the type is container
      --type string     Return JSON for specified type
[root@VM-0-11-centos ~]# docker inspect c15dc01a5840
[
    {
        "Id": "c15dc01a584033c9b9108ad94a95855b1f48cf36a204080b38efd7361d31bcfe",
        "Created": "2024-05-25T11:03:34.942897242Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "while true;do echo bai;sleep 1;done"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 30110,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-05-25T11:03:35.185139101Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6",
        "ResolvConfPath": "/var/lib/docker/containers/c15dc01a584033c9b9108ad94a95855b1f48cf36a204080b38efd7361d31bcfe/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/c15dc01a584033c9b9108ad94a95855b1f48cf36a204080b38efd7361d31bcfe/hostname",
        "HostsPath": "/var/lib/docker/containers/c15dc01a584033c9b9108ad94a95855b1f48cf36a204080b38efd7361d31bcfe/hosts",
        "LogPath": "/var/lib/docker/containers/c15dc01a584033c9b9108ad94a95855b1f48cf36a204080b38efd7361d31bcfe/c15dc01a584033c9b9108ad94a95855b1f48cf36a204080b38efd7361d31bcfe-json.log",
        "Name": "/hardcore_elbakyan",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "bridge",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                46,
                146
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": [],
            "BlkioDeviceWriteBps": [],
            "BlkioDeviceReadIOps": [],
            "BlkioDeviceWriteIOps": [],
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": [],
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/7ed5c3762f3e2834d4d2e59273aa995b28271081783344c61b9c488af03b0ff3-init/diff:/var/lib/docker/overlay2/92e41ea1f687f82fcdfd0bebaebaa2349a60012fccd9ef0e4352275d838b90e4/diff",
                "MergedDir": "/var/lib/docker/overlay2/7ed5c3762f3e2834d4d2e59273aa995b28271081783344c61b9c488af03b0ff3/merged",
                "UpperDir": "/var/lib/docker/overlay2/7ed5c3762f3e2834d4d2e59273aa995b28271081783344c61b9c488af03b0ff3/diff",
                "WorkDir": "/var/lib/docker/overlay2/7ed5c3762f3e2834d4d2e59273aa995b28271081783344c61b9c488af03b0ff3/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "c15dc01a5840",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "while true;do echo bai;sleep 1;done"
            ],
            "Image": "centos",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20210915",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "d5523278c7fdf2f4dd384a6f76c6a7ada6f37381859b7920a5b8aabd696c66a1",
            "SandboxKey": "/var/run/docker/netns/d5523278c7fd",
            "Ports": {},
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "6fb734e3b4e4d2ffde6142e017f874b561d768c436be513888be332075c77e17",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.3",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:03",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "MacAddress": "02:42:ac:11:00:03",
                    "NetworkID": "72b3c24af55f97984d8971ac6acdf1b9ac2c6a36629289567599ce5b8d9f785d",
                    "EndpointID": "6fb734e3b4e4d2ffde6142e017f874b561d768c436be513888be332075c77e17",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.3",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DriverOpts": null,
                    "DNSNames": null
                }
            }
        }
    }
]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生气要吃糖吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值