当前位置: 首页 > 面试题库 >

如何从另一台机器连接到Docker API?

公冶嘉茂
2023-03-14
问题内容

我正在尝试使用Docker API从另一台机器连接到docker守护进程。我能够成功执行以下命令:

docker -H=tcp://127.0.0.1:4243 images

但是当我使用真实的IP地址时不是:

docker -H=tcp://192.168.2.123:4243 images
2013/08/04 01:35:53 dial tcp 192.168.2.123:4243: connection refused

为什么使用非本地IP时无法连接?

我在Vagrantfile中使用带有以下内容的Vagrant VM: config.vm.network :private_network, ip: "192.168.2.123"

以下是iptables:

# Generated by iptables-save v1.4.12 on Sun Aug  4 01:24:46 2013
*filter
:INPUT ACCEPT [1974:252013]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1511:932565]
-A INPUT -p tcp -m tcp --dport 4243 -j ACCEPT
COMMIT
# Completed on Sun Aug  4 01:24:46 2013
# Generated by iptables-save v1.4.12 on Sun Aug  4 01:24:46 2013
*nat
:PREROUTING ACCEPT [118:8562]
:INPUT ACCEPT [91:6204]
:OUTPUT ACCEPT [102:7211]
:POSTROUTING ACCEPT [102:7211]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.16.42.0/24 ! -d 172.16.42.0/24 -j MASQUERADE

问题答案:

遇到类似的问题,在这里我没有看到的一件事是您需要启动docker来侦听网络和unix套接字。主机上的所有常规docker(命令行)命令均使用套接字。

sudo docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -d &

将启动docker侦听主机上的任何IP地址以及典型的unix套接字。



 类似资料:
  • 问题内容: 我在本地计算机上为postgres创建了一个docker卷。 然后,我使用了该卷并运行了一个docker。 之后,我做了一些数据库操作,这些操作自动存储在postgres-data中。现在,我想将该卷从本地计算机复制到另一台远程计算机。怎么做一样。 注意-数据库大小非常大 问题答案: 如果第二台计算机启用了SSH,则可以在第一台计算机上使用Alpine容器来映射该卷,将其捆绑并发送到第

  • 问题内容: 我目前正在研究一个项目,我想在另一台计算机或电话上对其进行测试。这台计算机连接在同一网络上。 我该如何连接 ? 我正在使用(模块)作为服务器。 问题答案: 将您的应用程序配置为运行而不是。例如: 然后从另一台计算机连接到(或任何本地IP地址)。

  • 问题内容: 我可以在服务器A上安装php脚本并连接到服务器B上的MySQL数据库吗? 如果是,将如何进行?提前致谢 问题答案: 其简单的上述所有方法都非常复杂 假设您在服务器B上有数据库,在服务器A上有网站(假设它的IP为192.234.12.1) 在cpanel上将服务器B的IP列入白名单 并在数据库中创建一个具有足够特权的新用户(例如,该用户已经过测试) 然后将该用户创建为test@192.2

  • 使用时,保存的图像是独立的,因此图像的大小会变大。(~对于10个图像,大小约为9GB) 在提取docker图像后,我探索: 有没有办法有效地导出图像? 注:我已经提到了这一点。这个问题不是它的重复。它没有解决我上面提到的用例。

  • 问题内容: 如Docker文档中有关使用卷的文档中所述,存在所谓 的仅数据 容器的概念,该容器提供了可以安装到多个其他容器中的卷,无论该数据容器是否正在运行。 基本上,这听起来很棒。但是有一件事我不明白。 这些卷(由于可移植性原因, 未 明确映射到主机上的文件夹,如文档所述)由Docker在主机上的某个内部文件夹中创建和管理。 假设我使用了这样一个卷,然后需要将其从一台主机迁移到另一台主机-如何移

  • 正如Docker有关卷的文档中所述,存在所谓的仅数据容器的概念,它提供了一个可以装入多个其他容器的卷,无论仅数据容器是否实际运行。 基本上,这听起来很棒。但有一件事我不明白。 这些卷(如文档所述,出于可移植性原因,这些卷不会显式映射到主机上的文件夹)由Docker在主机上的某个内部文件夹中创建和管理()。 假设我使用这样一个卷,然后我需要将它从一台主机迁移到另一台主机——我如何移植该卷?AFAIC