首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在mac os上连接到docker镜像

如何在mac os上连接到docker镜像
EN

Stack Overflow用户
提问于 2016-02-24 10:14:23
回答 2查看 1.8K关注 0票数 0

我正在mac os上安装docker。我知道在我的mac操作系统和docker镜像之间安装并运行了一台docker-machine。当我启动一个docker镜像时,我不能从我的mac操作系统ping该镜像,而是必须从docker机器连接到这些镜像。我想知道是否有一种方法可以让我从mac操作系统连接到docker镜像。

EN

回答 2

Stack Overflow用户

发布于 2016-02-24 12:28:52

这通常是通过将端口暴露给扩展坞机器来完成的。例如,您可以像这样映射SSH端口:

代码语言:javascript
运行
复制
docker run -d -p 2022:22 my-image

这将把docker-machine上的端口2022绑定到容器内的端口22。现在,您可以通过使用docker-machine的IP来获得访问权限,如下所示(假设使用default docker-machine):

代码语言:javascript
运行
复制
ssh -p 2022 user@$(docker-machine ip default)

当然,这需要您的容器在端口22上公开服务。您必须参考容器的文档来查看公开了哪些服务。

如果需要,您还可以通过localhost配置对服务的访问,而不是使用扩展底座IP。这样做需要在docker-machine驱动程序中进行一些网络配置。假设您使用的是VirtualBox ( Mac安装的默认驱动程序),您可以在VirtualBox UI中或通过VBoxManage (下面的文档链接)配置端口转发。

用于暴露端口的Docker文档:https://docs.docker.com/engine/reference/run/#expose-incoming-ports

端口转发的VirtualBox文档:https://www.virtualbox.org/manual/ch06.html#natforward

票数 1
EN

Stack Overflow用户

发布于 2016-02-24 10:35:57

这是我理解它的方式:

docker-machine就像一台虚拟机。容器基于虚拟机(docker- machine ),但与其他容器完全隔离(它有自己的文件系统、进程树等)。图像只是一组保存在一起的容器层。因此,单词"image“和"container”可能会在一些上下文中混在一起。容器通常是指图像的最顶层(也就是“写”层)。

我解决这个问题的原因是,从您的问题中,我不完全确定您尝试使用的术语。

您可以通过SSH连接到docker-machine镜像和容器。

要通过SSH进入正在运行的容器,您可以使用

代码语言:javascript
运行
复制
docker exec -it CONTAINER_NAME bash

要通过SSH进入正在运行的docker-machine映像,您可以使用

代码语言:javascript
运行
复制
docker-machine ssh DOCKER_IMAGE_NAME

我能想到的只有几个原因,为什么你会想要SSH到一个docker-machine,但这是可能的,通过上面的命令。几乎所有的情况下,您都将使用码头容器。这就是Docker的全部原因--一个容器管理系统。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35592020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档