今天我们来聊聊[docker查看日志命令],以下3关于的观点希望能帮助到您找到想要的结果。
问题一:Daemon进程与日志输出本文贡献者:【飞吻狂魔】, 疑问关键字:docker查看日志命令, 下面就让窝牛号小编为你解答,希望本文能找到您要的答案!
最佳答案前几日,遇到一个问题,需要收集在容器里一个 daemon 进程的输出日志。一般来说,容器里的进程只需要打日志到标准输出就可以了,但 daemon 进程比较特殊,daemon 进程没有控制终端,也没有继承相应的文件描述符。
上述问题可以转化为一个通用的问题:如何让一个 daemon 进程输出日志到当前的控制台上?
另外,supervisor 及 docker 在启动的时候,是不允许启动后台进程的,这是为什么呢?
在解答之前,先来看一些相关的基础知识。
查看一个进程的 pid,gpid,spid,command
上述命令打印 32036 号进程,父进程为 1098,进程组号为 32036,会话号为 32036。
打印前台进程组的进程信息。
查看进程树。
上面的程序实现了一个简单的 daemonize 例程。有以下一些地方还没有考虑到:
写一个简单的 shell 程序进行测试:
编译运行,注意现在的工作路径为 /,可执行程序要写绝对路径。
查看进程:
可以看到 daemon 进程 pid 为 30467, 其父进程为 init 进程,组长为 30466,为会话首进程,session id 也是 30466。
可以 tailf test.log 查看日志输出。
以上就是窝牛号小编解答(飞吻狂魔)贡献关于“Daemon进程与日志输出”的答案,接下来继续为你详解用户(总攻大人)分析“将日志输出到Docker容器外”的一些相关解答,希望能解决你的问题!
问题二:将日志输出到Docker容器外贡献用户名:【总攻大人】 ,现在由窝牛号小编为你分析与【docker查看日志命令】的相关内容!
最佳答案我们可以利用 docker logs 命令查看 Docker 容器内部应用程序运行时所产生的日志,可以免除首先进入 Docker 容器,再打开应用程序的日志文件的过程。docker logs 会监控容器中操作系统的标准输出设备(STDOUT),一旦 STDOUT 有数据产生,就会将这些数据传输到另一个“设备”中,该 Docker 的被称为“日志驱动(Logging Driver)”
例如,我们有一个容器实例 ID 为 “da6743d61e1a” ,随后我们使用 docker logs 命令,查看 da6743d61e1a 容器的日志
此时,Docker 日志也在同步输出,输出的日志类似下面这样。
Docker 是怎样做到的呢?或者说,所谓的 Docker 日志驱动,到底做了些什么事情?
我们使用 docker info 命令,可以看到 Docker 容器的相关信息,其中有一项 Logging Driver 的字段。
通过输入命令,将得到Docker 当前所设置的日志驱动类型:journald
其实,Docker 已为我们提供了大量的日志驱动类型。
通过 --log-opt 参数为 json-file 日志驱动添加了两个选项,max-size=10m 表示 JSON 文件最大为 10MB(超过 10MB 就会自动生成新文件),max-file=3 表示 JSON 文件最多为3个(超过3个就会自动删除多余的旧文件)
除了在启动 Docker 容器时,可指定日志驱动以外,还可以通过修改 Docker 配置文件来指定日志驱动。
打开配置文件 /etc/sysconfig/docker ,找到以下配置片段:
可以看出,默认的日志驱动为 journald,把它修改为 syslog
然后重启 docker
众多日志驱动类型中,较为常用 的是 Syslog,因为 Syslog 是 Linux 的日志系统,很多日志分析工具都可以从 Syslog 中获取日志,比如流行的 ELK(Elasticsearch、Logstash、Kibana)日志中心。Logstash 用于收集日志,Syslog 中写入的日志可转发到 Logstash 中,随后将日志存入 Elasticsearch 中,最后可通过 Kibana 来查询日志。
接下来咱们的目标是将 Docker 容器中输出的日志写入 Syslog,那么后面需要做的就是将 Syslog 接入 ELK 了。
默认,Linux 操作系统已经安装了 Syslog 软件包,但它叫 Rsyslog。实际上,Rsyslog 是 Syslog 标准的一种实现,还有一种叫 Syslog-ng 的第三方实现。虽然 Syslog-ng 的功能较为强大,但我们还是选择使用 Rsyslog,因为操作系统已经预装了,我们无须单独安装,可以通过以下命令查看 Rsyslog 是否已安装。
如果要开启 Rsyslog 服务,我们必须对 Rsyslog 进行配置,打开文件 vi /etc/rsyslog.conf
在 rsyslog.conf 文件中有一段配置,我们需要手工去开启
重启 Rsyslog 服务,否则配置无法生效
此时,我们可以查看本地是否对外开启了 514 端口
以上就是窝牛号小编解答(总攻大人)贡献关于“将日志输出到Docker容器外”的答案,接下来继续为你详解用户(不懂烦人。)回答“Docker命令-docker run”的一些相关解答,希望能解决你的问题!
问题三:Docker命令-docker run热心用户提供:【不懂烦人。】 ,解答(docker查看日志命令)的问题,如果问题解决,可以关注本站!
最佳答案原文
docker进程运行与独立的容器中,而容器是宿主机的一个进程。宿主机可以使本地的也可以是远程的。每当执行 docker run 之后,容器进程式独立运行的,他有自己的文件系统、网络以及与主机隔离的进程🌲。
这里将介绍如何使用 docker run 运行容器以及容器资源。
一个 docker run 命令使用如下:
docker run 命令必须指定一个容器镜像,镜像开发者可以定义镜像的一些默认值:
开发者可以通过 docker run [options] 添加或者修改镜像的默认设置。此外,开发者几乎可以完全覆盖掉容器运行时的默认设置。正因为 docker run 能修改镜像和容器的默认设置,所以他的 [options] 可选项要比其他任何docker命令都要多。
要知道更多的 [options] ,移步: options type
最好只是懂得 docker run 命令的人去使用这些选项!
当你运行Docker容器的时候你需要决定是要在后台运行还是默认前台运行,当你选择后台运行时会在命令执行后打印出最新运行的容器ID。
想要让你的容器以后台方式运行只需要在使用参数 -d=true 或者 -d 即可。docker设计的默认情况下,如果你的容器以后台方式运行,只有在父进程即docker进程退出的时候才会去把容器退出,除非你使用了 --rm 选项。如果你在运行容器时将 -d 和 --rm 两个选项一起使用,那么容器会在退出或者后台进程停止的的时候自动移除掉(只要一个情况便会自动移除镜像)。
dokcer容器后台运行是不能通过 service x start 来启动的,比如想启动一个后台运行的 nginx 服务:
这样虽然启动了容器内的 nginx 服务,但是是不可用的,因为这种方式违背了后台运行容器的使用规范。nginx服务虽然启动了,但是他的所属容器服务已经停了,导致nginx服务是不可用的。如果想启动一个nginx服务请使用如下命令:
当容器后台运行之后便不回响应命令行的的相关操作,可以通过网络连接或者文件挂载方式查看容器运行的输入输出日志。可以通过 docker attach 来操作。
在不指定 -d 的情况下,容器默认是前台运行的,可以看到容器运行时候的输入输出以及错误信息日志。容器甚至还可以模拟终端输入输出(TTY),配置项如下:
如果你没有指定 -a 参数,docker默认会指定 stdout 和 stderr ,你也可以任意指定你想要的终端显示信息,例如:
为了开启容器终端,你必须指定参数 -i -t 。通常情况下 -i -t 会一起使用 -it ,注意如果容器需要从一个pipe接收输入参数时是不能使用 -t 的,例如:
定义一个容器ID有三种方式:
UUID是由docker的后台进程创建的。如果你没有指定容器名称,那么docker会默认生成一个随机字符串名字。如果你指定了容器的名字,不管是选择前台运行还是后台运行甚至docker网络配置的时候,你都可以在通过名字 name 来引用该容器。
为了方便管理,你可以选择让docker将容器ID写入到一个文件中。这个功能类似于一些程序会将进程PID写入到文件中,例如:
虽然给一个容器指定ID不是严格的要求规范,但是你可以在启动容器的时候指定容器的标签 iamge:tag ,例如:
使用V2或之后的镜像格式制作的镜像文件具有摘要内存寻址功能。只要生成镜像的参数和方式没有改变,那么这个镜像的摘要是可预测和可引用的。
例如下面这个运行一个从 alpine 拉取的镜像:
镜像摘要: sha256:9cacb71397b640eca97488cf08582ae4e4068513101088e9f96c9814bfda95e0
.
果然 docker run 是参数最多的命令,篇幅太多了,先翻译到这里,大致使用已经涵盖了,先去翻译接下来的命令了。
更多信息请参考 原文
更多参数说明:
关于[docker查看日志命令]的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于docker查看日志命令、的信息别忘了在本站进行查找喔。
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除
热门信息
阅读 ()
1 注册微信号怎么注册第二个阅读 ()
2 怎么把照片变成卡通头像阅读 ()
3 手机越充越少电怎么解决