繁体   English   中英

如何从docker-compose文件中查看容器的容器运行状况

[英]How do I see container health status for containers from my docker-compose file

自docker-compose 1.10.0起,就支持运行状况检查 我开始在我的docker-compose文件之一中实现这些功能。

有几个站点建议从docker ps查看容器的健康状态。 见下文。

但是,运行docker ps时我看不到任何健康状况。 我的docker-compose文件的摘录如下:

version: "2.1"

services:

  my-service:
    container_name: my-service
    image: "our-registry:5000/my-service:1.0.1"
    expose: [3000]
    restart: always
    depends_on:
      - other-service-1
      - other-service-2
    healthcheck:
      test: ["nc", "-z", "127.0.0.1", "3000", "||", "exit", "1"]
      interval: "2s"
      timeout: "1

我的docker ps输出的摘录如下:

# docker ps
CONTAINER ID        IMAGE                                  COMMAND                  CREATED             STATUS              PORTS          NAMES
af680b9fc6c3        our-registry/pr-georegion:1.0.1        "node index.js"          8 minutes ago       Up 8 minutes        3000/tcp       pr-georegion

Docker和docker-compose版本:

# docker -v
Docker version 1.12.6, build 78d1802
# docker-compose -v
docker-compose version 1.10.1, build b252738

例子1

例子1

例子2

在此处输入图片说明

我在docker-compose文件中发现了问题。 来自[官方文档](测试必须为字符串或列表。如果为列表,则第一项必须为NONE,CMD或CMD-SHELL。如果为字符串,则等效于指定CMD-SHELL后跟该字符串。):

测试必须是字符串或列表。 如果是列表,则第一项必须为NONE,CMD或CMD-SHELL。 如果是字符串,则等效于指定CMD-SHELL后跟该字符串。

所以我改变了:

test: ["nc", "-z", "127.0.0.1", "3000", "||", "exit", "1"]

对于:

test: ["CMD-SHELL", "nc -z 127.0.0.1 3000 || exit 1"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM