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

在docker-machine中进行端口转发?

梁成双
2023-03-14
问题内容

由于boot2docker已弃用,因此我已切换到,docker-machine但我不知道如何从中打开端口docker- machine。在boot2docker我可以这样做:

boot2docker ssh -L 27017:localhost:27017

只要SSH连接打开,它将把端口27017从VirtualBox转发到本地主机27017。请注意,我不是在寻找一种在VirtualBox中永久打开端口的方法。我怎样才能做到这一点docker- machine


问题答案:

您仍然可以从docker机器使用的VirtualBox中访问VBoxmanage.exe命令:

VBoxManage controlvm "boot2docker-vm" natpf1 "tcp-port27017,tcp,,27017,,27017";
  • 使用docker-machine info让您的虚拟机的名称。
  • 使用modifyvm如果VM尚未启动。

请参阅此答案中的实际示例。

这是当前的解决方法,有待将参数传递给docker-machine ssh:参见问题691。

另一个解决方法是 转发端口, 而是 直接使用VM的IP:

 $(docker-machine ip default)

作为评论的SDC:

您可以通过以下方法确认端口转发设置正确

 VBoxManage showvminfo boot2docker-vm | grep "NIC.* Rule"


 类似资料:
  • 问题内容: 我在公司中提供一个私有Docker容器,并希望我的同事能够在我们的内部网络中访问,问题是我的来宾操作系统是OSX,因此我只能使用192.168.99.100:3000访问我的应用程序来自docker机器的默认IP。 如何将docker-machine 3000端口转发到主机80端口? 问题答案: 目前,Docker Machine是在您计算机中VirtualBox下运行的虚拟机,因此要

  • 我遇到的问题是,我无法在我希望看到的端口上看到应用程序。我正在公开端口8080并在8080上运行uwsgi进程,但在浏览器中找不到ip地址的应用程序。我只是得到谷歌Chrome的‘此网页不可用’。(我使用的是Mac,所以我需要获得boot2docker的ip地址)。容器显然正在运行,并报告我的uwsgi和celery进程也都成功运行。 运行时,得到的响应如下 ...因此容器似乎正在接受端口8080

  • 问题内容: 我有这两个容器,例如(CentOs)和。我想拥有的是,可以从容器中连接到mongo数据库,就像它在本地运行一样, 无论如何,据我所知,您可以像这样将端口localhost:27017映射到mongo:27017 但是,如果执行此操作,则必须提供root密码,然后它会将我登录到容器中,并且不会发生端口转发 背景:我想这样做是因为我正在运行一个Java程序,该程序连接到localhost上

  • 主要内容:安装,使用简介 Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。 Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。 Docker Machine 管理的虚拟主机可以是机上的,也可以是云供应商,如阿里云,腾讯云,AWS,或 DigitalOc

  • Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境。 Docker Machine 项目基于 Go 语言实现,目前在 Github 上进行维护。 本章将介绍 Docker Machine 的安装及使用。

  • Docker Machine 支持 Windows ,OS X ,和 Linux,并且被安装为一个独立的二进制文件。用于各平台架构的二进制文件链接如下: Windows - 32bit Windows - 64bit OSX - x86_64 OSX - (老款 macs) Linux - x86_64 Linux - i386 OS X 和 Linux 在 Linux 或者 OSX 上安装,你需