Docker-compose 拉取两个图像,一个应用程序和 fluentd,但没有日志发送到 fluentd 的标准输出
Docker-compose pulls an two images, an app and fluentd but no logs are sent to stdout for fluentd
我是新手,我正在使用两张 docker 图片,一张图片很流畅,另一张图片是我的网络应用程序。 webapp 正在创建日志,fluentd 正在侦听类型为 in_forward 的端口,但日志未发送到 stdout
Docker-compose.yml 文件
dataporter:
image: <app-docker>
command: <associated command>
ports:
- 80:8080
links:
- fluentd
logging:
driver: "fluentd"
options:
fluentd-address: :24224
tag: data-porter
fluentd:
image: <fluentd-docker>
volumes:
- ./fluentd.conf:/fluentd/etc/fluent.conf
ports:
- "24224:24224"
fluentd.conf 文件
<source>
@type forward
port 24224
bind "0.0.0.0"
</source>
<match **>
@type stdout
</match>
我的应用程序是在 golang 中,我在这个包中放了一些简单的日志语句 import log "github.com/sirupsen/logrus"
所以我的简单日志语句是 log.Info("Infof print")
但在 fluentd 中没有显示新日志 docker除了初始启动语句之外的容器日志。
fluentd 镜像看不到日志的原因是因为 data-porter 镜像需要 fluentd 来完成它的设置,所以尽管 data-porter 容器 运行 它无法正确连接到流利的容器。总之,任何需要连接到 fluentd 的容器都需要等待 fluentd 完成设置。
为了解决这个问题,我有一个脚本可以停止依赖 fluentd 的容器并重新启动它。将 container_name: <name>
添加到 docker-compose.yml 文件以获取服务帮助脚本。
docker-compose up -d
sleep(3)
docker stop <container-name-relying-on-fluentd>
docker-compose up -d
我是新手,我正在使用两张 docker 图片,一张图片很流畅,另一张图片是我的网络应用程序。 webapp 正在创建日志,fluentd 正在侦听类型为 in_forward 的端口,但日志未发送到 stdout
Docker-compose.yml 文件
dataporter:
image: <app-docker>
command: <associated command>
ports:
- 80:8080
links:
- fluentd
logging:
driver: "fluentd"
options:
fluentd-address: :24224
tag: data-porter
fluentd:
image: <fluentd-docker>
volumes:
- ./fluentd.conf:/fluentd/etc/fluent.conf
ports:
- "24224:24224"
fluentd.conf 文件
<source>
@type forward
port 24224
bind "0.0.0.0"
</source>
<match **>
@type stdout
</match>
我的应用程序是在 golang 中,我在这个包中放了一些简单的日志语句 import log "github.com/sirupsen/logrus"
所以我的简单日志语句是 log.Info("Infof print")
但在 fluentd 中没有显示新日志 docker除了初始启动语句之外的容器日志。
fluentd 镜像看不到日志的原因是因为 data-porter 镜像需要 fluentd 来完成它的设置,所以尽管 data-porter 容器 运行 它无法正确连接到流利的容器。总之,任何需要连接到 fluentd 的容器都需要等待 fluentd 完成设置。
为了解决这个问题,我有一个脚本可以停止依赖 fluentd 的容器并重新启动它。将 container_name: <name>
添加到 docker-compose.yml 文件以获取服务帮助脚本。
docker-compose up -d
sleep(3)
docker stop <container-name-relying-on-fluentd>
docker-compose up -d