测试与 docker 守护进程的连接

2023-12-22

我正在编写一个将自动启动 docker-compose 的脚本。

然而,有时,做eval "$(docker-machine env default)"不会导致 docker 守护进程立即连接,并且当下一行到来时(docker-compose up) I get Cannot connect to the Docker daemon. Is the docker daemon running on this host?

如果我使用sleep几秒钟后问题就解决了。

有没有办法通过某些系统工具测试与守护进程的连接(检查进程是否存在,是否建立网络连接,侦听端口等)?我想在外部测试 docker 守护进程而不是使用docker cli


The Docker 远程 API https://docs.docker.com/engine/reference/api/docker_remote_api_v1.22/ has a PING 端点 https://docs.docker.com/engine/reference/api/docker_remote_api_v1.22/#ping-the-docker-server。您可以使用该端点检查是否可以成功连接到 Docker 守护进程。docker-machine env设置环境变量DOCKER_HOST,所以你可以使用DOCKER_HOST作为 ping 的主机。使用nc,您可以按如下方式 ping 主机:

$ eval "$(docker-machine env default)"
$ echo -e "GET /_ping HTTP/1.1\r\n" | nc $DOCKER_HOST
HTTP/1.1 200 OK
Server: Docker/1.10.2 (linux)
Date: Thu, 03 Mar 2016 07:05:58 GMT
Content-Length: 2
Content-Type: text/plain; charset=utf-8

OK

您将需要检查返回值。如果返回“OK”,则连接成功。一个简单的检查可能如下所示(这可能需要更多改进):

#!/bin/bash
if [ "$(echo -e "GET /_ping HTTP/1.1\r\n" | nc $DOCKER_HOST | tail -n 1)" == 'OK' ] ; then
  echo "You are connected"
fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试与 docker 守护进程的连接 的相关文章

随机推荐

  • 将哈希模式添加到seaborn条形图中[重复]

    这个问题在这里已经有答案了 我有一个使用seaborn 创建的条形图 例如 可以按如下方式创建绘图 import pandas as pd import numpy as np import matplotlib pyplot as plt
  • Azure DevOps Pipelines,作业如何知道它是从计划触发的?

    我有一个 Azure DevOps 系统已启动并正在运行 并具有根据 PR 以及夜间计划运行管道的触发器 如下所示 trigger batch true branches include main release pre release s
  • 无法部署 - 错误:您的应用程序版本不能超过 500 个

    部署到 EB 时出现以下错误 错误 您的应用程序版本不能超过 500 个 任何一个 删除某些应用程序版本或请求增加限制 我手动删除了一些版本 我不希望部署因为这个限制而失败 Elastic Beanstalk 是否有办法自动驱逐未使用的版本
  • iOS 嵌套视图控制器视图位于 UIViewController 的视图内?

    在 iOS 中 在 UIViewController 的视图中嵌套视图控制器的视图通常是不好的编程习惯吗 举例来说 我想要某种可以响应用户触摸的交互元素 但只占据屏幕的 25 我想我会将此嵌套视图控制器添加到我的 UIViewControl
  • Yii 2 嵌套形式

    首先抱歉我的英语不好 我正在使用Yii2 dynamicforms 扩展 https github com wbraganca yii2 dynamicform到 Yii 2 中的嵌套表单 下列的本指南 https github com w
  • 如何正确实现自定义迭代器和const_iterators?

    我有一个自定义容器类 我想为其编写iterator and const iterator类 我以前从未这样做过 也未能找到合适的操作方法 关于迭代器创建的准则是什么 我应该注意什么 我还想避免代码重复 我觉得const iterator a
  • Javascript 检测文本区域中的滚动条

    我想知道是否有人知道我将如何检测滚动条何时出现在textarea 我目前在 JavaScript 中使用 mootools 但在让它检测滚动条时遇到问题 function has scrollbar elem id const elem d
  • 带动画的RemoveFromSuperView() - AnimationWillEnd不会触发

    我有一个 UIView 并尝试使用动画 淡入 alpha 0 0 将其从其超级视图中删除 工作正常 但视图永远不会从超级视图中删除 尽管我向 AnimationWillEnd 添加了委托 这是代码 控制台输出不会被写入 视图也不会被删除 怎
  • Swing 应用程序在哪里使用?

    现在人们真的使用 Swing 应用程序吗 我没有找到使用它们的地方 是否可以跳过 AWT 和 Swing 包 不过我学到了一些基础知识 如果您专门为网络编写内容 您可能可以跳过 Swing 但否则您绝对会遇到它 我从来没有开发过没有 Swi
  • 将 Switch 小部件添加到 ActionBar 并响应更改事件

    我可以知道如何在 ActionBar 中添加 Switch 小部件并处理单击事件或切换更改事件吗 现在我可以膨胀 ActionBar 中的 Switch 但无法响应更改事件 我已将以下内容添加到 main xml 中 menu menu
  • express.Router 和 app.get 之间的区别?

    我从 NodeJS 和 Express 4 开始 我有点困惑 我正在阅读 Express 网站 但看不到when使用路由处理程序或何时使用express Router 正如我所看到的 如果我想在用户点击时显示页面或其他内容 show例如我应
  • 在 Excel VBA 中添加到数组函数

    我正在尝试在 for 循环中将一个数组添加到 Double 数组的数组中 这是我的代码 Sub Test3 Dim a As Double i As Integer ReDim a 1 To 10 1 To 3 Dim d For i 1
  • Android Studio 3.0:无法解决模块依赖关系

    我有一个主要项目和第二个项目 模块 我导入后module项目作为模块依赖项app项目并尝试同步所有内容 我收到以下错误 Unable to resolve dependency for app debug compileClasspath
  • 迅速。如何将文本行追加到 file.txt 顶部?

    我正在实现一个小型记录器 在其中写入 TXT 文件 我希望最后一个事件位于文件顶部 但我无法使其正常工作 互联网上的所有示例都使用 fileHandle seekToEndOfFile 在文件末尾写入 这就是我所拥有的 private st
  • 将多个值从 MVC3 视图传递到 ActionMethod

    我想知道是否有人可以帮助我 我很抱歉听起来像个笨蛋 但我是 MVC3 的新手 我试图将 2 个值从视图传递到操作方法 但这并不公平 HTML Html ActionLink ASSIGN AssignTokenToDataTemplate
  • 我如何创建像 Altair 这样并排的条形图?

    我想要创造的图片 https i stack imgur com VZ0K3 png 我得到了图表的左侧 前三分之一 并尝试创建 bars2 和 text2 字段 但这不起作用 并将其添加到原始的ranked movies字段中 但这一切都
  • Groovy 方法从列表中获取随机元素

    Groovy 在管理集合方面非常强大 我有一个这样的列表 def nameList Jon Mike Alexia 我想做的是迭代 10 次 从第一个列表中获取 10 个人的随机名字 10 times Person person new P
  • 在 EKS 集群中挂载 EFS:示例部署失败

    我目前正在尝试创建一个 EFS 以在 EKS 集群中使用 我已遵循所有说明 并且大多数情况下一切似乎都正常 但是 当尝试应用 multiple pods 示例部署时here https github com kubernetes sigs
  • 如何在Java中的FlatBuffer中存储字典(地图)

    我正在从中学习平面缓冲区link https google github io flatbuffers flatbuffers guide tutorial html 没有例子演示如何存储字典 地图 这里提到了 Storing dictio
  • 测试与 docker 守护进程的连接

    我正在编写一个将自动启动 docker compose 的脚本 然而 有时 做eval docker machine env default 不会导致 docker 守护进程立即连接 并且当下一行到来时 docker compose up