Tag: 健康监控

如何将bash命令转换成docker(-compose)healthcheck

我正在使用sath89 / oracle-12c进行针对oracle数据库的自动化testing。 这工作正常,唯一的问题是,这个容器需要几分钟才能开始(〜10-15取决于硬件)。 我试图拿出这个容器的健康检查。 我设法想出了 status=`su oracle -c "echo -e \"SELECT ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME = 'ANONYMOUS' AND ACCOUNT_STATUS = 'EXPIRED';\" | /u01/app/oracle/product/12.1.0/xe/bin/sqlplus -S / as sysdba | grep ACCOUNT_STATUS"`; if [ "$status" == "ACCOUNT_STATUS" ]; then true; else false; fi 当ANONYMOUS账户被解锁时这将返回0,这是图像entrypoint脚本中的最后一步: entrypoint.sh 。 我使用docker exec -it <containername> bashtesting了这个。 我现在坚持把这个可怕的长长的行转换成docker-compose的健康检查命令: version: "2" services: […]

HEALTHCHECK启动容器过程导致无效环境USERNAME

添加到我的docker文件的健康检查: HEALTHCHECK –interval=2m –timeout=30s –retries=5 CMD curl -r http://localhost:1234/healthstatus || exit 1 在docker ps(容器已启动)状态下,我得到了不健康的警报:Up大约一个小时(不健康) CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES jdhfjksdhfk my_docker_register/my_service "/usr/src/app/entr…" About an hour ago Up About an hour (unhealthy) 0.0.0.0:1234->1234/tcp, 0.0.0.0:80->1234/tcp my_service 检查健康日志后,我可以看到输出: docker inspect –format='{{json .State}}' my_service | jq . {“Health”:{“Log”:[{“Output”:“rpc error:code = 2 desc = oci runtime error:exec […]