美文网首页互联网科技Docker容器码农的世界
『中级篇』容器的端口映射(28)

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

作者: IT人故事会 | 来源:发表于2018-07-09 23:40 被阅读17次

    前几次讲了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)

        本文链接:https://www.haomeiwen.com/subject/nhiiyftx.html