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 stop
和 docker-compose rm
并重新开始并不能解决问题。将 docker-compose up -d
与 docker-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/