首页 > 其他 > 详细

『中级篇』容器的端口映射(28)

时间:2018-08-22 18:09:59      阅读:169      评论:0      收藏:0      [点我收藏+]

>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>原文链接地址:『中级篇』容器的端口映射(28)

前几次讲了bridge 和bridge network,今天这次继续说docker的网络,docker提供一个web服务,如何让你的容器的web服务供外边的公网访问到。

nginx为例
  • 本地创建一个nginx的服务,nginx这个我就不介绍了,大家baidu吧,现在很多的互联网公司都用它。
    sudo service docker restart
    sudo docker run --name web -d nginx

技术分享图片

现在虽然创建了一个nginx服务,想访问,但是没办法访问,如果真要访问还得借助exec的方式来访问。

sudo docker exec -it web /bin/sh
exit

技术分享图片

  • 查看naginx 的ip

    sudo docker network inspect bridge

    技术分享图片

  • ping ip

    ping 172.17.0.2

    技术分享图片

  • 访问
    telnet 172.17.0.2 80
    curl http://172.17.0.2

技术分享图片

nginx映射到本地端口
  • 命令: -p 80:80
    sudo docker stop web
    sudo docker rm web
    sudo docker run --name web -d -p 80:80 nginx
    curl http://127.0.0.1
    #可以看到eth1的ip地址是 172.28.128.3
    ip a

    把容器内的80端口映射到本地的80端口,也就说宿主机的局域网就可以访问80端口了,如果宿主机是阿里云或者腾讯云也就可以访问了。

技术分享图片
技术分享图片

技术分享图片

原理图

技术分享图片

PS:这里不通过公网服务器演示了,基本用阿里云或者腾讯云都有公有IP的直接映射就可以了用了,通过这种方式我们知道很多的服务都是提供端口的,例如:tomcat8080端口,mysql3306端口(-p 3306:3306),创建完容器后讲端口和本机的端口进行映射就可以了直接访问了。


往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
  8. 如何在window上通过vagrant安装虚拟机(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
  12. docker架构和底层技术(12)
  13. docker Image概述(13)
  14. 手动建立一个base Image(14)
  15. 什么是Container(15)
  16. 构建自己的Docker镜像(16)
  17. Dockerfile详解(17)
  18. 镜像的发布(18)
  19. Dockerfile实战(19)
  20. 容器的操作(20)
  21. Dockerfile实战CMD和ENTRTYPOINT的配合(21)
  22. 容器的资源限制(22)
  23. docker网络(23)
  24. docker学习必会网络基础(24)
  25. Linux网络命名空间(25)
  26. Docker Bridge详解(26)
  27. 容器之间的Link(27)

技术分享图片

『中级篇』容器的端口映射(28)

原文:http://blog.51cto.com/12040702/2162858

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!