boot2docker(Mac) NAT 容器PORT 给 主机,外部访问

boot2docker 用的Vbox,所以用VBox的命令做NAT

#先要停掉所有的容器

docker ps -a -q | xargs docker stop

#停到boot2docker

boot2docker stop

#如果容器的端口是 8080的话 (docker -p 18080:8080)

VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,18080,,18080";

#重启boot2docker 虚拟机

boot2docker start

#重启你自己的容器

。。。

现在可以在其他局域网机器通过 “本地IP+18080” 就可以访问到虚拟机里面容器的服务了

PS:开放10000到20000的端口

for i in {10000..20000}; do
VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i";
VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port$i,udp,,$i,,$i";
done

时间: 2024-11-05 22:55:55

boot2docker(Mac) NAT 容器PORT 给 主机,外部访问的相关文章

Docker容器的跨主机连接

Docker容器的跨主机连接 使用网桥实现跨主机容器连接 网络拓扑 网络连接使用的是Bridge 操作 修改/etc/network/interfaces文件,分配静态IP地址 1.auto br02.iface br0 inet static3.address 10.211.55.34.netmask 255.255.255.05.gateway 10.211.55.16.bridge_ports eth0 修改/etc/default/docker文件,限定分配IP地址段,防止冲突 1.-b

VMware网络连接模式——桥接模式、NAT模式以及仅主机模式的介绍和区别

在使用VMware Workstation(以下简称:VMware)创建虚拟机的过程中,配置虚拟机的网络连接是非常重要的一环,当我们为虚拟机配置网络连接时,我们可以看到如下图所示的几种网络连接模式:桥接模式.NAT模式.仅主机模式.自定义网络连接模式.如下图 在VMware中,虚拟机的网络连接主要是由VMware创建的虚拟交换机(也叫做虚拟网络)负责实现的,VMware可以根据需要创建多个虚拟网络.在Windows系统的主机上,VMware最多可以创建20个虚拟网络,每个虚拟网络可以连接任意数量

阿里云下docker启动mysql容器,开启外部访问

阿里云下docker启动mysql容器,开启外部访问 (1)拉取mysql镜像 ```docker pull centos/mysql-57-centos7``` (2)创建容器 ```docker run -di --name=tensquare_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7``` -p 代表端口映射,格式为  宿主机映射端口:容器运行端口 -e 代表添加环境变量  MYSQL

利用虚拟网桥实现Docker容器的跨主机访问

最近在研究Docker,Docker的网络配置是比较令人头疼的部分,尤其是跨主机的容器间通信,很多解决方案都比较复杂,这里,我只用虚拟网桥来实现Docker的跨主机访问,分享出来,希望对Docker学习的各位有一定的启发. 基本思想: 由于Docker容器通过docker0 网桥实现同一主机间中,容器的ip地址分配和访问,所以,如果希望Docker跨主机访问,最简单的方式就是将不同主机的docker0 设置为同一网段. 那么怎么实现跨主机呢?我这里将本机网卡也通过网桥来连接,那么,整体网络拓扑结

外部主机无法访问IIS发布的网站

在IIS中发布网站,在本地可以直接访问,但是其他主机不能访问改发布的网站. 此问题一般是IIS的配置或者防火墙的配置的原因. 如果禁用了以下防火墙入站规则会导致外部主机无法访问本地发布的网站,启用即可.

vm虚拟机nat方式ping不通主机

vm虚拟机nat方式ping不通主机 主机ip:10.10.16.69 主机上查看vmnet8虚拟网卡ip:192.168.154.1 虚拟机ip:192.168.154.128 虚拟机默认路由192.168.154.1 主机可以ping通虚拟机,虚拟机可以ping通192.168.154.1的网关.但虚拟机ping不通主机和外网. 解决方案: vm中nat方式宿主机访问虚拟机和主机的IP关系不大,你这里 vmnet8网卡地址和虚拟机地址IP是同一网段是正确的配置 尝试修改虚拟机的默认网关为19

Docker容器的跨主机访问

Docker容器的跨主机访问 使用网桥实现跨网段访问 主机1 :192.168.22.101  主机2:192.168.22.102 安装网桥管理工具#sudo apt-get install bridge-until 配置网卡地址# sudo vim /etc/network/interfaces 配置其中一块网卡的网络参数,另一块网卡配置参数一样,这里不在演示 重新启动网卡 # sudo /etc/init.d/networking restart 查看网络配置,发现eth0已经没有地址而b

实现Vmware10中的Mac OS X10.9与主机Windows8.1的硬盘文件共享

由于Mac OS X 10.9系统是安装在虚拟机VMware 10里的,所以里面的系统都是占用着本机的资源才运行起来的,可能做各方面的事情都不如在本机上快.如果在虚拟机里,那么使用主机上的东西是不容易的,所以这里的共享文件夹就起作用了.然后你把要用的东西放在文件夹里,那虚拟机里就可以直接用了,这样操作就可以节省大量的时间.下面看下是如何具体操作的,步骤详解如下: 1.在虚拟机的工具栏选项里,依次选择"虚拟机"---"设置". 2.然后选择"选项"

java如何获取当前机器ip和容器port

获取当前机器ip: private static String getIpAddress() throws UnknownHostException { InetAddress address = InetAddress.getLocalHost(); return address.getHostAddress(); } 获取容器port: String port = String.valueOf(request.getLocalPort());