docker入门基础(代码片段)

wlbl wlbl     2023-02-06     269

关键词:

目录

八、docker 日志

1、 Docker 的日志功能。

对于一个运行的容器,Docker 会将日志发送到 容器的 标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT 和 STDERR 实际上就是容器的控制台终端。

举个例子,用下面的命令运行 httpd 容器:

[email protected] ~]# docker run -p 80:80 httpd
AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using 172.17.0.3. Set the ‘ServerName‘ directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using 172.17.0.3. Set the ‘ServerName‘ directive globally to suppress this message
[Wed Dec 19 16:19:19.135837 2018] [mpm_event:notice] [pid 1:tid 139659397657792] AH00489: Apache/2.4.37 (Unix) configured -- resuming normal operations
[Wed Dec 19 16:19:19.136196 2018] [core:notice] [pid 1:tid 139659397657792] AH00094: Command line: ‘httpd -D FOREGROUND‘

因为我们在启动日志的时候没有用 -d 参数,httpd 容器以前台方式启动,日志会直接打印在当前的终端窗口。

如果加上 -d 参数以后台方式运行容器,我们就看不到输出的日志了。

[[email protected] ~]# docker run -p 80:80 -d  httpd
8a4e90384f42279573a98665c08e929c5b871cfed14f4873b62081db22579d86

这种情况下如果要查看容器的日志,有两种方法:

  1. attach 到该容器。
  2. 用 docker logs 命令查看日志。

attach方法

attach 到了 httpd 容器,但并没有任何输出,这是因为当前没有新的日志信息。

为了产生一条新的日志,可以在 host 的另一个命令行终端执行 curl localhost。

[[email protected] ~]# docker attach 8a4e90384f42279573a98665c08e929c5b871cfed14f4873b62081db22579d86

[[email protected] ~]$ curl localhost
<html><body><h1>It works!</h1></body></html>

[[email protected] ~]# docker attach 8a4e90384f42279573a98665c08e929c5b871cfed14f4873b62081db22579d86
172.17.0.1 - - [20/Dec/2018:06:26:28 +0000] "GET / HTTP/1.1" 200 45

attach 的方法在实际使用中不太方便,因为:

  1. 只能看到 attach 之后的日志,以前的日志不可见。
  2. 退出 attach 状态比较麻烦(Ctrl+p 然后 Ctrl+q 组合键),一不小心很容器将容器杀掉(比如按下 Ctrl+C)。

查看容器日志推荐的方法是用 docker logs 命令。

docker logs 能够打印出自容器启动以来完整的日志,并且 -f 参数可以继续打印出新产生的日志,效果上与 Linux 命令 tail -f 一样。

2、多种日志方案

将容器日志发送到 STDOUT 和 STDERR 是 Docker 的默认日志行为。实际上,Docker 提供了多种日志机制帮助用户从运行的容器中提取日志信息。这些机制被称作 logging driver。

Docker 的默认 logging driver 是 json-file。

[[email protected] ~]# docker info |grep ‘Logging Driver‘
Logging Driver: json-file

json-file 会将容器的日志保存在 json 文件中,Docker 负责格式化其内容并输出到 STDOUT 和 STDERR。

我们可以在 Host 的容器目录中找到这个文件,器路径为 /var/lib/docker/containers/

比如我们可以查看前面 httpd 容器 json 格式的日志文件。

[[email protected] ~]# cat /var/lib/docker/containers/8a4e90384f42279573a98665c08e929c5b871cfed14f4873b62081db22579d86/8a4e90384f42279573a98665c08e929c5b871cfed14f4873b62081db22579d86-json.log 
"log":"AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using 172.17.0.3. Set the ‘ServerName‘ directive globally to suppress this message
","stream":"stderr","time":"2018-12-19T16:20:06.529205619Z"
"log":"AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using 172.17.0.3. Set the ‘ServerName‘ directive globally to suppress this message
","stream":"stderr","time":"2018-12-19T16:20:06.52927816Z"
"log":"[Wed Dec 19 16:20:06.531616 2018] [mpm_event:notice] [pid 1:tid 139645179663552] AH00489: Apache/2.4.37 (Unix) configured -- resuming normal operations
","stream":"stderr","time":"2018-12-19T16:20:06.539621015Z"
"log":"[Wed Dec 19 16:20:06.531941 2018] [core:notice] [pid 1:tid 139645179663552] AH00094: Command line: ‘httpd -D FOREGROUND‘
","stream":"stderr","time":"2018-12-19T16:20:06.539658478Z"
"log":"172.17.0.1 - - [20/Dec/2018:06:26:28 +0000] "GET / HTTP/1.1" 200 45
","stream":"stdout","time":"2018-12-20T06:26:28.088467341Z"
"log":"[Thu Dec 20 06:27:06.465698 2018] [mpm_event:notice] [pid 1:tid 139645179663552] AH00491: caught SIGTERM, shutting down
","stream":"stderr","time":"2018-12-20T06:27:06.46593144Z"

除了 json-file,Docker 还支持多种 logging driver。完整列表可访问官方文档 https://docs.docker.com/engine/admin/logging/overview/#supported-logging-drivers

none 是 disable 容器日志功能。

syslog 和 journald 是 Linux 上的两种日志管理服务。

awslogs、splunk 和 gcplogs 是第三方日志托管服务。

gelf 和 fluentd 是两种开源的日志管理方案,我们会在后面分别讨论。

容器启动时可以通过 --log-driver 指定使用的 logging driver。如果要设置 Docker 默认的 logging driver,需要修改 Docker daemon 的启动脚本,指定 --log-driver 参数,比如:ExecStart=/usr/bin/dockerd -H fd:// --log-driver=syslog --log-opt ......

每种 logging driver 都有自己的 --log-opt,使用时请参考官方文档。

3、ELK

在开源的日志管理方案中,最出名的莫过于 ELK 了。ELK 是三个软件的合称:Elasticsearch、Logstash、Kibana。

Elasticsearch
一个近乎实时查询的全文搜索引擎。Elasticsearch 的设计目标就是要能够处理和搜索巨量的日志数据。

Logstash
读取原始日志,并对其进行分析和过滤,然后将其转发给其他组件(比如 Elasticsearch)进行索引或存储。Logstash 支持丰富的 Input 和 Output 类型,能够处理各种应用的日志。

Kibana
一个基于 JavaScript 的 Web 图形界面程序,专门用于可视化 Elasticsearch 的数据。Kibana 能够查询 Elasticsearch 并通过丰富的图表展示结果。用户可以创建 Dashboard 来监控系统的日志。

本节将讨论如何用 ELK 这组黄金搭档来监控 Docker 容器的日志。

Logstash 负责从各个 Docker 容器中提取日志,Logstash将日志转发到 Elasticsearch 进行索引和保存,Kibana 分析和可视化数据。

下面开始实践这套流程。

1安装 ELK 套件

ELK 的部署方案可以非常灵活,在规模较大的生产系统中,ELK 有自己的集群,实现了高可用和负载均衡。我们的目标是在最短的时间内学习并实践 ELK,因此将采用最小部署方案:在容器中搭建 ELK。

[[email protected] ~]# docker run --name elk -p 5601:5601 -p 9200:9200 -p:5044:5044 -it sebp/elk

我们使用的是 sebp/elk 这个现成的 image,里面已经包含了整个 ELK stack。容器启动后 ELK 各组件将分别监听如下端口:

5601 - Kibana web 接口
9200 - Elasticsearch JSON 接口
5044 - Logstash 日志接收接口

先访问一下 Kibana http://[Host IP]:5601/ 看看效果。

当前 Kibana 没有可显示的数据,因为当前 Elasticsearch 还没有任何日志数据。

访问一下 Elasticsearch 的 JSON 接口 http://[Host IP]:9200/_search?pretty


  "name" : "lW3S7Mf",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "9iqURI_vQdeIKVXTWJD_Ug",
  "version" : 
    "number" : "6.5.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "8c58350",
    "build_date" : "2018-11-16T02:22:42.182257Z",
    "build_snapshot" : false,
    "lucene_version" : "7.5.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  ,
  "tagline" : "You Know, for Search"

确实,目前 Elasticsearch 没有与日志相关的 index。

接下来的工作就是将 Docker 的日志导入 ELK,

几乎所有的软件和应用都有自己的日志文件,容器也不例外。前面我们已经知道 Docker 会将容器日志记录到 /var/lib/docker/containers/

要实现这一步其实不难,因为 ELK 提供了一个配套小工具 Filebeat,它能将指定路径下的日志文件转发给 ELK。同时 Filebeat 很聪明,它会监控日志文件,当日志更新时,Filebeat 会将新的内容发送给 ELK。

2安装 Filebeat**

下面在 Docker Host 中安装和配置 Filebeat。

[[email protected] ~]# curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-x86_64.rpm
[[email protected] ~]# yum localinstall filebeat-5.1.1-x86_64.rpm -y

配置 Filebeat

Filebeat 的配置文件为 /etc/filebeat/filebeat.yml,我们需要告诉 Filebeat 两件事:

  1. 监控哪些日志文件?
  2. 将日志发送到哪里?

    • input_type: log

      Paths that should be crawled and fetched. Glob based paths.

      paths:
      • /var/lib/docker/containers//.log
      • /var/log/syslog

在 paths 中我们配置了两条路径:

  1. /var/lib/docker/containers//.log 是所有容器的日志文件。
  2. /var/log/syslog 是 Host 操作系统的 syslog。

接下来告诉 Filebeat 将这些日志发送给 ELK。

Filebeat 可以将日志发送给 Elasticsearch 进行索引和保存;也可以先发送给 Logstash 进行分析和过滤,然后由 Logstash 转发给 Elasticsearch

为了不引入过多的复杂性,我们这里将日志直接发送给 Elasticsearch。

output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["localhost:9200"]

启动 Filebeat

Filebeat 安装时已经注册为 systemd 的服务,可以直接启动服务。

[[email protected] ~]# systemctl start filebeat.service 

管理日志**

Filebeat 启动后,正常情况下会将监控的日志发送给 Elasticsearch。刷新 Elasticsearch 的 JSON 接口 http://[Host IP]:9200/_search?pretty 进行确认。

"_type" : "log",
        "_id" : "0L6rymcBMWBsEwm5rF3p",
        "_score" : 1.0,
        "_source" : 
          "@timestamp" : "2018-12-20T08:11:47.138Z",
          "beat" : 
            "hostname" : "node1",
            "name" : "node1",
            "version" : "5.1.1"
          ,
          "input_type" : "log",
          "message" : ""log":"AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using 172.17.0.4. Set the ‘ServerName‘ directive globally to suppress this message\n","stream":"stderr","time":"2018-12-17T03:16:55.290537706Z"",
          "offset" : 480,
          "source" : "/var/lib/docker/containers/0fe49ea429a2cee05de5705ba83f89ecac7bea812a24ec041f957ab7bf05b199/0fe49ea429a2cee05de5705ba83f89ecac7bea812a24ec041f957ab7bf05b199-json.log",
          "type" : "log"

这次我们能够看到 filebeat-* 的 index,以及 Filebeat 监控的那两个路径下的日志。

好,Elasticsearch 已经创建了日志的索引并保存起来,接下来是在 Kibana 中展示日志。

首先需要配置一个 index pattern,即告诉 Kibana 查询和分析 Elasticsearch 中的哪些日志。

指定 index pattern 为 filebeat-*,这与 Elasticsearch 中的 index一致。

Time-field name 选择 @timestamp。

点击 Create 创建 index pattern。

点击 Kibana 左侧 Discover 菜单,便可看到容器和 syslog 日志信息。

下面我们启动一个新的容器,该容器将向控制台打印信息,模拟日志输出。

[[email protected] ~]# docker run busybox sh -c ‘while true; do echo "This is a log message from container busybox!"; sleep 10; done;‘

刷新 Kibana 页面或者点击右上角 图标,马上就能看到 busybox 的日志。

Kibana 也提供了强大的查询功能,比如输入关键字 busybox 能搜索出所有匹配的日志条目。

我们这里只是简单地将日志导入 ELK 并朴素地显示出来,实际上 ELK 还可以对日志进行归类汇总、分析聚合、创建炫酷的 Dashboard 等,可以挖掘的内容很多,玩法很丰富。

3Fluentd

ELK 中我们是用 Filebeat 收集 Docker 容器日志,利用的是 Docker 默认的 logging driver json-file,本节我们将使用 fluentd 来收集容器的日志。

Fluentd 是一个开源的数据收集器,它目前有超过 500 种的 plugin,可以连接各种数据源和数据输出组件。在接下来的实践中,Fluentd 会负责收集容器日志,然后发送给 Elasticsearch。

这里我们用 Filebeat 将 Fluentd 收集到的日志转发给 Elasticsearch。这当然不是唯一的方案,Fluentd 有一个 plugin fluent-plugin-elasticsearch 可以直接将日志发送给 Elasticsearch。条条道路通罗马,开源世界给予了我们多种可能性,可以根据需要选择合适的方案。

安装 Fluentd

同样的,最高效的实践方式是运行一个 fluentd 容器。

[[email protected] ~]# docker run -d -p 24224:24224 -p 24224:24224/udp -v /data:/fluentd/log fluent/fluentd

fluentd 会在 TCP/UDP 端口 24224 上接收日志数据,日志将保存在 Host 的 /data 目录中。

重新配置 Filebeat

编辑 Filebeat 的配置文件 /etc/filebeat/filebeat.yml,将 /data 添加到监控路径中。

- input_type: log

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /data/*.log

重启 Filebeat。

[[email protected] ~]# systemctl restart filebeat.service

监控容器日志,启动测试容器

[[email protected] ~]# docker run -d >            --log-driver=fluentd >            --log-opt fluentd-address=localhost:24224 >            --log-opt tag="log-test-container-A" >            busybox sh -c ‘while true; do echo "This is a log message from container A"; sleep 10; done;‘

[[email protected] ~]# docker run -d >            --log-driver=fluentd >            --log-opt fluentd-address=localhost:24224 >            --log-opt tag="log-test-container-B" >            busybox sh -c ‘while true; do echo "This is a log message from container B"; sleep 10; done;‘

--log-driver=fluentd 告诉 Docker 使用 Fluentd 的 logging driver。

--log-opt fluentd-address=localhost:24224 将容器日志发送到 Fluentd 的数据接收端口。

--log-opt tag="log-test-container-A" 和 --log-opt tag="log-test-container-B" 在日志中添加一个可选的 tag,用于区分不同的容器。

容器启动后,Kibana 很快就能够查询到容器的日志。

4、Graylog

Graylog 是与 ELK 可以相提并论的一款集中式日志管理方案,支持数据收集、检索、可视化 Dashboard。本节将实践用 Graylog 来管理 Docker 日志。

Graylog 负责接收来自各种设备和应用的日志,并为用户提供 Web 访问接口。

Elasticsearch 用于索引和保存 Graylog 接收到的日志。

MongoDB 负责保存 Graylog 自身的配置信息。

与 ELK 一样,Graylog 的部署方案很灵活,快速搭建一个 all-in-one 的环境对于学习很有益处;部署一个高可用高伸缩性的集群对于生成环境也是必要的。

接下来我们将在容器环境下搭建 Graylog。

部署 Graylog

Graylog 及其相关组件都将以容器的方式部署。

MongoDB

[[email protected] ~]# docker run --name graylog-mongo -d mongo:3

Elasticsearch

[[email protected] ~]# docker run --name graylog-elasticsearch -d elasticsearch:2 elasticsearch -Des.cluster.name="graylog"

Graylog

[[email protected] ~]# docker run --link graylog-mongo:mongo >            --link graylog-elasticsearch:elasticsearch >            -p 9000:9000 >            -p 12201:12201/udp >            -e GRAYLOG_WEB_ENDPOINT_URI="http://192.168.2.110:9000/api" >            -e GRAYLOG_PASSWORD_SECRET=somepasswordpepper >            -e GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 >            -d graylog2/server

--link 参数让 Graylog 容器能够用主机名 mongo 和 elasticsearch 访问 MongoDB 和 Elasticsearch 的服务。

-p 9000:9000 映射 Graylog 的 Web 服务端口 9000。

-p 12201:12201/udp 映射 Graylog 接收日志数据的 UDP 端口 12201。

GRAYLOG_WEB_ENDPOINT_URI 指定 Graylog 的 Web 访问 URI,请注意这里需要使用 Docker Host 的外部 IP(在实验环境中为 192.168.2.110)。

GRAYLOG_ROOT_PASSWORD_SHA2 指定 Graylog 管理员用户密码的哈希值,在这个例子中密码为 admin。可以通过如下命令生成自己的密码哈希,比如:

echo -n yourpassword | shasum -a 256

容器启动后,在 Web 浏览器中访问 http://[Docker Host IP]:9000

用户名/密码 = admin/admin

登录后显示 Getting Started 页面。

配置 Graylog**

目前 Graylog 还没法接收任何日志,我们需要配置一个 Input,点击顶部菜单 System -> Inputs。

Graylog 支持多种 Input 类型,与 Graylog 对接的 Docker logging driver 是 gelf,因此这里我们需要运行一个 GELF UDP 类型的 Input。

在 Node 列表中选择 Graylog 容器。
Title 命名为 docker GELF input。
其他保持默认值,其中 port 12201 即为前面启动容器时映射到 Host 的端口,用于接收日志数据。

Graylog 已经准备就绪,接下来就可以将容器的日志发送给 Graylog 了

使用Graylog管理容器日志

首先启动测试容器。

[root[email protected] ~]# docker run -d >            --log-driver=gelf >            --log-opt gelf-address=udp://localhost:12201 >            --log-opt tag="log-test-container-A" >            busybox sh -c ‘while true; do echo "This is a log message from container A"; sleep 10; done;‘
[[email protected] ~]# docker run -d >            --log-driver=gelf >            --log-opt gelf-address=udp://localhost:12201 >            --log-opt tag="log-test-container-B" >            busybox sh -c ‘while true; do echo "This is a log message from container B"; sleep 10; done;‘

--log-driver=gelf 告诉 Docker 使用 GELF 的 logging driver。

--log-opt gelf-address=localhost:12201 将容器日志发送到 Graylog 的日志接收端口。

--log-opt tag="log-test-container-A" 和 --log-opt tag="log-test-container-B" 在日志中添加一个可选的 tag,用于区分不同的容器。

容器启动后,点击 Graylog 顶部菜单 Search,就能够查询到容器的日志了。

与 Kibana 一样,Graylog 也提供了强大的查询功能,比如输入关键字 container B 能搜索出所有匹配的日志条目。

与前面 ELK 一样,这里我们只是简单的将日志导入到 Graylog。实际上 Graylog 也可以对日志进行归类汇总、分析聚合、创建 Dashboard 等








docker入门基础篇(代码片段)

查看docker教学视频,请点击《狂神说java》:https://www.bilibili.com/video/BV1og4y1q7M4?p=1记得投币三连呀~~Docker学习Docker概述Docker安装Docker命令镜像命令容器命令操作命令......Docker镜像容器数据卷DockerFileDocker网络原理Idea整合DockerDockerCompose... 查看详情

docker容器技术基础入门(代码片段)

docker容器技术基础入门容器(Container)传统虚拟化与容器的区别:LinuxNamespacesCGroupsLXCdocker基本概念docker工作方式docker容器编排容器(Container)容器是一种基础工具;泛指任何可以用于容纳其他物品的工具,可以部分或完全封闭... 查看详情

docker容器技术基础入门(代码片段)

docker容器技术基础入门容器(Container)传统虚拟化与容器的区别Linux容器技术LinuxNamespacesCGroupsLXCdocker基本概念docker工作方式docker容器编排容器(Container)容器是一种基础工具;泛指任何可以用于容纳其他物品的工具,可以部分... 查看详情

docker基础实战教程:入门(代码片段)

Docker基础实战教程:入门前言HelloDocker!Docker使用的基本过程Docker使用基本实例拉取镜像获取镜像dockerpull命令背后的工作dockerpull的两个基本实例设置镜像加速器导入导出容器dockerexport和dockersave的区别前言Docker是一个操作系统... 查看详情

docker基础知识-入门篇(代码片段)

1.Docker简介和KVM区别1.1docker的三大理念构建运输运行ps:有点类似于java代码,一次构建到处运行1.2docker结构相关说明:image:和虚拟机的镜像类似container:用镜像创建的实例repository:类似于yum仓库dockerclient:命令行输入的docker命令dockerserv... 查看详情

docker入门教程基础命令(代码片段)

1.配置docker加速器[[email protected]docker]#tee/etc/docker/daemon.json<<-‘EOF‘"registry-mirrors":["https://registry.docker-cn.com"]EOF 1.11启动第一个容器dockerrun-d-p80:80nginxrun创建并运行一个容器-d后台运行 查看详情

docker基础入门安装以及常见命令(代码片段)

1、docker常见命令以及安装知识详解1、docker安装1、安装版本统一:Dockerversion18.03.0-ce,build0520e242、安装方式:使用dockerrepository安装3、sudoapt-getupdate4、InstallpackagestoallowapttousearepositoryoverHTTPSsudoapt-getinstallapt-trans 查看详情

docker的基础入门(代码片段)

docker的基本概念docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一... 查看详情

docker零基础快速入门(通俗易懂)(代码片段)

...里云博客专家、华为云享专家、网络安全领域优质创作者Docker一、安装Docker二、配置镜像加速器三、Docker服务命令四、Docker镜像命令五、Docker容器命令六、Docker容器数据卷七、Docker部署应用1、部署Tomcat2.1解决页面404问题2.2解决... 查看详情

docker基础知识及入门(代码片段)

什么是Docker?Docker是由dotcloud公司使用golang语言进行开发的,基于Linux内核的cgroup,namespace,以及OverlayFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,... 查看详情

轻松掌握docker使用-基础入门(代码片段)

前言Docker自2013年以来非常火热,很多人也津津乐道于它,网上也很多关于Docker的文章和学习教程。这里我再重新提及“docker的入门使用”无非是想整理一下以前学的知识,方便查阅和用于分享。  在学习Docker使用... 查看详情

轻松掌握docker使用-基础入门(代码片段)

前言Docker自2013年以来非常火热,很多人也津津乐道于它,网上也很多关于Docker的文章和学习教程。这里我再重新提及“docker的入门使用”无非是想整理一下以前学的知识,方便查阅和用于分享。  在学习Docker使用... 查看详情

docker基础入门详解(代码片段)

...问题、软件版本问题等等诸多因素,造成一些问题。Docker技术的出现就是为了解决因部署实施而带来的一系列问题。Docker技术实现了将开发环境、相关软件、配套环境等一系列研发环 查看详情

docker入门(代码片段)

Docker入门Docker是一个开源的容器引擎,它有助于更快地交付应用。Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用Docker,可更快地打包、测试以及部署应用程序,并可缩短从... 查看详情

docker基础知识和命令使用入门(代码片段)

本文介绍了Docker相关的基础知识和命令的简单使用。基础知识部分包括Docker的用途和意义,Docker的镜像、容器、仓库、Dockerfile和DockerCompose的理解,以及Docker图形管理工具Portainer的基础功能。Docker命令的使用包括镜像使用、容器... 查看详情

docker入门基础(代码片段)

目录八、docker日志1、Docker的日志功能。对于一个运行的容器,Docker会将日志发送到容器的标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT和STDERR实际上就是容器的控制台终端。举个例子,用下面的命令运行httpd容器:[email... 查看详情

零基础入门docker(代码片段)

**如有错误,感谢指正**如有错误,感谢指正,请私信博主,有辛苦红包,拜“一字之师”。请根据目录寻找自己需要的段落导语:本博客为个人整理Java学习记录帖,如有错误,感谢指正。系统学习... 查看详情

docker入门基础(代码片段)

目录七、Docker最常用的监控方案1、Docker自带的监控子命令2、sysdig3、scope4、cAdvisor5、Prometheus6、各种方案对比七、Docker最常用的监控方案1、Docker自带的监控子命令1)psdockercontainerps是我们早已熟悉的命令了,方便我们查看当前运行... 查看详情