开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

外部网络通过端口映射访问部署在虚拟机里的docker中的web应用

简介:
+关注继续查看

前文说明:

 Windows主机 IP:10.100.70.135

 Linux 虚拟机  IP:192.168.233.129

 Docker容器   IP:172.17.0.11

 为方便测试使用,通常我们选择在windows主机中安装虚拟机这(这里选的是VMware workstation),在虚拟机中部署docker容器。而我们部署在docker中的容器外部网络(和windows同一层的网络)是无法访问的。

为了解决这个问题,可以采用一下这种方案。

 

一、创建容器时可以选择docker自带的端口映射功能能够跨网络实现172.17.0.11192.168.233.129的通信。参考命令如下,docker的其他使用方法这里不再赘述

docker run -it -p 8003:80 --name nginx1  cariden/centos6.7 /bin/bash

这里我们可以通过访问192.168.233.1298003端口映射到172.17.0.1180端口,也就是可以直接访问nginx服务

wKiom1g2XVjxyPkTAAAeOnaGH_k762.png

docker中部署一个外部服务以供访问,并创建一个简单索引页

wKiom1g2XUix-QKQAAAM3cSBR3o567.png

 

二、采用vmware自带的虚拟网络编辑器实现外部网络访问虚拟机内的服务

1.点击”编辑“->”虚拟网络编辑器“,如图

wKioL1g2XWTzwbcbAAD7iJjMHMY460.png

2.选择”NAT“,然后点击”NAT设置“,如图。

wKiom1g2XXTSB6nNAACzQMOSgt0227.png

3.接下来点击”添加“,让访问主机的8004端口映射到虚拟机里8003端口。

wKioL1g2XYCSFb8mAABx-hVoV7Y482.png

4.在弹出来的界面中分别填入主机端口,虚拟机IP,虚拟机端口,如图

wKiom1g2XY7A5eIUAAA_MWpOJS4513.png

5.确定后,我们就将虚拟机中的80号端口映射到宿主机的8086号端口了。可以外部网络测试了,选择和主机同一层的其他机器做测试就可以了。

wKioL1g2XZ7CO6PsAABL4S9OUTI733.png

6.测试通过!

注:如果以上步骤操作还是不能访问,考虑一下防火墙的问题,可以在防火墙入口规则里开放8004端口,这里为了便于测试我把防火墙关掉了。



本文转自 青苗飞扬 51CTO博客,原文链接:http://blog.51cto.com/qingmiao/1876077

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
简简单单将Java应用封装成Docker镜像
想必Docker这个词大家都不陌生,是一个非常优秀的虚拟化容器。
0 0
实践-基于Docker搭建的mycat分片应用
实践-基于Docker搭建的mycat分片应用
0 0
Docker 部署单页应用
Docker 部署单页应用
0 0
Docker swarm 通过 docker-compose 部署应用
Docker swarm 通过 docker-compose 部署应用
0 0
linux使用nginx实现本地web服务和docker应用,共用80端口。
linux使用nginx实现本地web服务和docker应用,共用80端口。
0 0
docker commit 命令的应用
docker commit 命令的应用
0 0
Docker 应用使用演示 | 学习笔记
快速学习 Docker 应用使用演示
0 0
Java应用在docker环境配置容器健康检查
运行在docker环境的java应用,给其增加健康检查的能力,以便观察和监控容器的健康状态
0 0
云原生之使用Docker部署Python应用
云原生之使用Docker部署Python应用
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
应用 Docker 进行持续交付:用技术改变交付路程
立即下载
构建基因数据应用生态系统—— docker in Bio/informatics
立即下载
应用Docker进行持续交付:用技术改变交付路程
立即下载