logging - Docker 组合不显示链接的控制台输出

标签 logging docker docker-compose stdout

docker-compose up 没有显示我所有服务的日志输出 (stdout)。

我在手动运行容器时得到输出:

$ docker run -it simple/cra-products /usr/local/bin/cra-products
[Info#INIT] cra-products
[Info#CONFIG] loadConfig
...

但是当我使用 docker-compose 运行它时,输出在附加时停止。

$ docker-compose up cra-products
underwriting_cra-products_1 is up-to-date
Attaching to underwriting_cra-products_1

我已确认它已打开并正常工作(我的其他服务可以连接到它)。我只是看不到日志输出。

日志输出确实适用于其他容器。

$ docker-compose up underwriting
underwriting_cra-products_1 is up-to-date
Starting underwriting_underwriting_1
Attaching to underwriting_underwriting_1
underwriting_1  | HELLO
...

我做错了什么?我想查看所有容器的日志。

调用 docker-compose stopdocker-compose rm 并重新开始并不能解决问题。将 docker-compose up -ddocker-compose logs 一起使用也不行。仍然没有 cra-products 的输出。

这是 docker-compose 文件:

version: "3"

services:

  underwriting:

    image: simple/underwriting

    command: /usr/local/bin/underwriting

    links:
    - cra-products

    ports:
    - "8011:8011"

    environment:
      - UNDERWRITING_PORT=8081
      - CRA_PRODUCTS_ENDPOINT=http://cra-products:8081

  cra-products:
    image: simple/cra-products:latest
    command: /usr/local/bin/cra-products
    ports:
    - "8081:8081"

    environment:
      - CRA_PRODUCTS_PORT=8081

最佳答案

将服务设置为按行缓冲标准输出解决了这个问题。

关于logging - Docker 组合不显示链接的控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43562687/

相关文章:

Java - 日志记录和跟踪

java - Android:Log Verbose 在 2.2 上针对新字符串 "byte array"初始化抛出错误

linux - 如何将错误从 Xul 记录到文件中?

node.js - 如何使用 PhpStorm/WebStorm 连接到远程 Nodejs 调试 session ?

Docker-compose:用生产中预构建的镜像替换基于 "build"的服务?

php - 无法从 php 容器连接到 mysql 容器

每个函数或每个模块的 Python 记录器

docker - 如何将 docker volume 移动到磁盘位置?

python - 套接字.gaierror gaierror : [Errno -2] Name or service not known - pika rabbitMQ

postgresql - docker compose : postgresql create db, 用户通过并授予权限