Docker自定义镜像无容器日志输出

Docker自定义镜像无容器日志输出

因工作环境需要,需自己定制一个python环境的镜像,但制作完之后, docker logs发现无日志输出,经文档查询原来需要将日志重定向到标准输入与标准输出,例子如下:

例子一

FROM env_centos:latest

COPY nginx.repo /etc/yum.repos.d/
注意,日志要重定向输出到stdout,否则无法看到容器日志输出
RUN \
    yum -y install nginx httpd-tools && \
    mkdir -p /data/nginx_conf/upstream && \
    mkdir -p /data/nginx_conf/vhosts && \
    rm -f /etc/nginx/conf.d/default.conf && \
    ln -sf /dev/stdout /var/log/nginx/access.log && \               > 这2行是关键,当然,这个要跟你的nginx配置文件匹配,不要照搬
    ln -sf /dev/stderr /var/log/nginx/error.log                   > 这2行是关键

COPY nginx.conf /etc/nginx/nginx.conf

EXPOSE 80
#EXPOSE 443

CMD ["nginx", "-g", "daemon off;"]

例子二

FROM ubuntu:latest

RUN apt-get update && apt-get upgrade -y && apt-get install -y build-essential python3 python3-dev python3-pip libssl-dev git
WORKDIR /home/elastalert
ADD  ./*   ./
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  elastalert &&  \
ln -sf /dev/stdout elastalert.log  && ln -sf /dev/stderr elastalert.log
CMD ["/bin/bash","run.sh"]

注意: 这里有一个疑问,为啥我例子一容器启动后在 /dev/目录中可以看到文件映射,但例子二没有看到,但 docker logs可以看到相关日志。不过重定向后确实解决了我的问题

Original: https://www.cnblogs.com/98record/p/docker-zi-ding-yi-jing-xiang-wu-rong-qi-ri-zhi-shu.html
Author: 自在拉基
Title: Docker自定义镜像无容器日志输出

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/586080/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【前端】【探究】HTML input类型为file时如何实现自定义文本以更好的美化

    想到英语四级考了两次都没过,我觉得要多使用英文,所以本文使用英文书写。 本文讲述了遇到的问题,解决的思路,并讲述了解决方案,也许对你会有帮助。 Problem descriptio…

    Linux 2023年6月14日
    0108
  • USB配置工具CH34xSerCfg使用说明

    一、概述 CH34xSerCfg配置软件用于WCH USB转串口系列芯片进行USB参数配置,通过该工具可对芯片的厂商识别码VID、产品识别码PID、最大电流值、BCD版本号、厂商信…

    Linux 2023年6月7日
    083
  • uniapp php 微信app支付

    php;gutter:true;//微信支付wxPay(){ uni.getProvider({ service: ‘payment’, success: res=>{ if…

    Linux 2023年6月7日
    075
  • Linux 下统计文件夹下文件的数量

    1、查看当前目录下的文件数量(不包含子目录中的文件) 2、查看当前目录下的文件数量(包含子目录中的文件) 3、 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如…

    Linux 2023年6月13日
    0102
  • muduo项目介绍

    在上一个集群聊天服务器项目中,我使用了 muduo作为网络库,然后主要实现了业务逻辑等,所以为了深入网络库的代码和实现,我跟着一位老师的代码去实现了 muduo库的基本原理和作用,…

    Linux 2023年6月13日
    0105
  • 2:数据和提取

    Mail 新的小插件 tldr tldr简化了烦琐的 man的输出帮助信息,只列出关键的语法信息、例子,方便用户使用。 npm install -g tldr vim 的语法 ^$…

    Linux 2023年6月7日
    078
  • LeetCode-329. 矩阵中的最长递增路径

    题目来源 329. 矩阵中的最长递增路径 题目详情 给定一个 m x n 整数矩阵 matrix ,找出其中 最长递增路径 的长度。 对于每个单元格,你可以往上,下,左,右四个方向…

    Linux 2023年6月7日
    072
  • [20211105]索引分裂 块清除 日志增加.txt

    [20211105]索引分裂 块清除 日志增加.txt –//题目起的有点怪,只是我昨天在测试时遇到的怪问题,我通过测试环境演示出来。–//当非主键索引发生…

    Linux 2023年6月13日
    089
  • redis 安装和命令

    转自:https://blog.csdn.net/hzlarm/article/details/99432240 在线安装: 查看使用的默认端口: 查看redis服务器的状态: 重…

    Linux 2023年5月28日
    087
  • scp 远程安全复制文件

    scp是 secure copy 的缩写,相当于 cp命令 + SSH。它的底层是 SSH 协议,默认端口是22,相当于先使用 ssh命令登录远程主机,然后再执行拷贝操作。 scp…

    Linux 2023年6月7日
    094
  • 【socket】基于socket通信-线程上报温度

    线程是一条执行路径,是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变…

    Linux 2023年6月13日
    099
  • 循环通过逗号分隔的shell变量

    假设我有一个Unix shell变量,如下所示 variable=abc,def,ghij 我想使用for循环提取所有值(abc,def和ghij),并将每个值传递给一个过程。 脚…

    Linux 2023年5月28日
    080
  • 在vue中使用websocket回调函数中调用其他methods函数报错Uncaught TypeError: this.getHistory is not a function at WebSocket.ws.onmess解决方案

    1、报错详情 在vue中,使用了websocket类,在websocket的onmessage回调函数中调用methods的 getHistory 函数,发现一调用就报错 Unca…

    Linux 2023年6月8日
    084
  • python 对文件操作

    实现对文件的简单操作 #!/usr/bin/env python -*- coding:utf-8 -*- def Find(class_name): class_list = […

    Linux 2023年6月13日
    0124
  • 【微服务】- 配置中心-Nacos

    微服务 – 配置中心 – Nacos 🏆 一个有梦有戏的人 @怒放吧德德🔥分享学习心得,欢迎指正,大家一起学习成长! 今天的学习任务就是学习使用Nacos作…

    Linux 2023年6月6日
    0104
  • redis

    字符串:类似vector,有空闲的空间 capacity和len,当长度小于1M时,每次扩容加倍,大于1M,每次扩容1M,最大512M hash: 相当于c++ unordered…

    Linux 2023年5月28日
    088
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球