gpt4 book ai didi

docker - HEALTHCHECK启动容器进程导致无效的环境USERNAME

转载 作者:行者123 更新时间:2023-12-02 20:09:10 27 4
gpt4 key购买 nike

将健康检查添加到我的docker文件后:

HEALTHCHECK --interval=2m --timeout=30s --retries=5 CMD curl -r http://localhost:1234/healthstatus || exit 1

我在docker ps的状态下收到不健康的警报(容器已启动):
大约一个小时(不健康)
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 failed: container_linux.go:247: starting container process caused “invalid environment ‘USERNAME’”\n”, “ExitCode”: -1, “End”: “2017-12-10T10:28:42.274606327Z”, “Start”: “2017-12-10T10:28:42.241716647Z” }, { “Output”: “rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused “invalid environment ‘USERNAME’”\n”, “ExitCode”: -1, “End”: “2017-12-10T10:30:42.313609006Z”, “Start”: “2017-12-10T10:30:42.274847833Z” }, { “Output”: “rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused “invalid environment ‘USERNAME’”\n”, “ExitCode”: -1, “End”: “2017-12-10T10:32:42.347550172Z”, “Start”: “2017-12-10T10:32:42.313834355Z” }, { “Output”: “rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused “invalid environment ‘USERNAME’”\n”, “ExitCode”: -1, “End”: “2017-12-10T10:34:42.380622433Z”, “Start”: “2017-12-10T10:34:42.347742726Z” } ], “FailingStreak”: 4, “Status”: “starting” },



当我使用相同的命令执行docker exec时,效果很好:
docker exec -it my_service curl -r http://localhost:1234/healthstatus || exit 1

输出:好

任何想法如何解决这个问题?

最佳答案

所以我的问题实际上是由于在我的docker compose文件中配置了环境变量' USERNAME '而导致的,但是它的值是 null

version: "2"
services:
my-service:
image: registry/ramp-webapp
restart: always
environment:
NODE_ENV: {{node_env}}
USERNAME:
CONSUL_AGENT_HOST: {{ ansible_eth0.ipv4.address }}
ports:
- "80:80"
container_name: my-service
volumes:
- /var/log/my-service:/var/log/my-service

我真的不知道为什么设置为null的环境变量会导致此问题。

我的解决方案是 从docker compose中删除USERNAME环境变量

关于docker - HEALTHCHECK启动容器进程导致无效的环境USERNAME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47738491/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com