如何知道我的本地 Docker 注册表是否已启动?

如何知道我的本地 Docker 注册表是否已启动?

我已经启动了一个本地 Docker 注册表docker run -d -p 5000:5000 --name registry registry:2,它可以很好地进行推送和拉取。在要从此本地注册表拉取的脚本中,我想首先测试注册表是否已启动。除了尝试拉取并捕获“拉取映像时出错...”错误之外,还有什么好方法可以做到这一点?

答案1

您没有提到您正在使用哪种操作系统,但您可以请求/200 响应或/v2/使用该401响应作为 OK。

对于 Linux 上的 Bash

status_code=$(curl -I -k -s https://<address>:5000/ | head -n 1 | cut -d ' ' -f 2)
if [[ "$status_code" == "200" ]]; then
    # pull 
fi

检查文档(重要/必需的 HTTP 标头)以供参考。

相关内容