Mac使用Docker-machine访问docker publish port
Step 1、Export the port in your Container(Docker-machine or boot2docker)
首先,要保证你发布端口的image已经run起来了。如果你是通过Dockerfile build起来的image,注意在image里面加上下面的一段话:
如果你需要发布其他端口,只需把80改变即可。
Expose这个命令的意思是docker image发布一个端口。
然后你需要将基于这个容器的image指定一个端口去绑定:
-p选项的含义是把80端口绑定在主机的80端口(这里的“主机”指docker-machine或者boot2docker容器)
如果你不想在你的mac或者windows上通过http://localhost:80的方式去访问,到这就可以结束了。你可以通过你docker-machine或者boot2docker的ip去访问。
这里我就可以通过http://192.168.99.100:80去访问我发布的image
Step 2、Configure VirtualBox
大家都知道docker-machine和boot2docker本身是不能直接在mac或windows下运行的,它必须依附一个VM,这里的VM就是VirtualBox,如何让我们在本机访问docker里发布的应用,这里就需要打开VirtualBox的port forwarding。
运行以下命令通过ssh去转发OSX/Windows的80端口到boot2docker/docker-machine VM的80端口:
或者你可以设置VirtualBox的参数来进行端口转发:
如果你的VM还在running,你需要运行以下命令:
现在你可以通过localhost:80去访问了。
如果你有很多容器发布同一个端口,你有必要使用docker的动态转发
For example, running 3 nginx containers:
使用VBoxManage modifyvm命令转发49XXX端口。这种方法可以很容易做到同时转发。
如果需要删除发布的端口,可以这么做:
这样就绑定了所有ip,不然只有本机能够进行访问。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
openstack之neutron linuxbridge + vlan组网
linuxbridge是和linuxbridge plugin匹配的core agent,主要实现L2层的功能和security group的功能。security group的功能逐渐会被 neutron firewall取代。 linuxbridge的启动命令在linuxbridge_ neutron_agent.py中;启动的时候需要提供 neutron.conf和linuxbridge_conf.ini配置文件 主要配置项: linuxbridge_conf.ini [vlans] network_vlan_ranges = physnet1,physnet2:1000:2999 tenant_network_type=vlan [linux_bridge] physical_interface_mappings = physnet1:eth0, physnet2:eth1 其中physnet1和physnet2表示该节点可用的物理网络名字(physical network, 名字可以随便定义),physical_interface_mappings用来把名字和该网络使用的物...
- 下一篇
DOCKER_HOST have a weird tcp
[html] view plain copy print ? [piqiu@benjaminpro~]$boot2dockerstart WaitingforVMandDockerdaemontostart... ..........................................................................oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Started. TryingtogetDockersocketonemoretime Errorrequestingsocket:exitstatus255 AutodetectionoftheVM'sDockersocketfailed. Pleaserun`boot2docker-vup`todiagnose. [html] view plain copy print ? [piqiu@benjaminpro~]$boot2dockerip FailedtogetVMHost...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7