docker中network如何使用
docker 中network如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
成都创新互联从2013年创立,是专业互联网技术服务公司,拥有项目网站制作、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元都安做网站,已为上家服务,为都安各地企业和个人服务,联系电话:13518219792
1 映射主机端口
映射主机端口,也就是将docker容器提供服务的端口映射到主机的某一个端口,消费者直接访问主机即可。
docker run --name docker-nginx -d -p 8080:80 -v /root/service/nginx/nginx.conf:/etc/nginx/nginx.conf -v /root/service/nginx/conf.d:/etc/nginx/conf.d -v /root/service/nginx/html:/usr/share/nginx/html nginx
使用以上命令运行容器的时候,将容器docker-nginx的80端口映射到了主机的8080端口,其中 -p 8080:80 就是指定端口的映射关系。 消费者可以直接访问主机的8080端口,此外,还必须开启主机防火墙的8080端口。(防火墙的设置方法在上篇文章已经介绍到了)
然而,在Docker Hub的大多常用的镜像实例说明中,基本都不会使用这种方式来运行一个容器,因为在公网中,多开一个端口,就意味着主机在网络世界中多了一个弱点。我主机上的服务就因为防火墙未关闭端口被攻击过。所以,使用docker network组建容器之间的网络是很有必要的。
2 docker network 组建容器之间的网络
在docker中,docker network 是主要是用做容器之间的通信,即组建容器之间的局域网。其实使用 -link 可以实现容器之间简单的网络,但是容器较多而且通信关系较为复杂时,使用network就更又条理。
docker network 即在容器之间组建一个局域网,然后各个容器可以加入这个网络,之后容器之间的访问就如同局域网中主机之间的访问。
创建一个network
docker network create docker-network // docker-network是局域网的名字,自定义 docker network ls // 查看已有的network
将容器连接到network
// 运行新的容器,并加入到docker-network网络中 // --network 表示这个容器要连接到的网络 // --network-alias 表示这个容器在此网络中的名称,也可以使用--ip来指定容器的ip docker run --name docker-nginx -d --network docker-network --network-alias nginx-network nginx // 已经在运行的容器加入网络使用以下命令 // docker network connect [OPTIONS] NETWORK CONTAINER docker network connect --alias nginx-network docker-network docker-nginx docker network connect --alias wp-network docker-network docker-wordpress
容器之间的访问
经过以上命令,我们已经创建了一个名为 docker-network 的网络,并且有两个容器加入了这个网络,在网络中的名称分别为:nginx-network 和 wp-network。现在需要使用 nginx 作为反向代理来访问 wordpress(wp-network),可直接修改 nginx 的配置文件,设置代理的主机地址为 wp-network 即可,( wp-network 为容器在network中的名称)如下:
location / { proxy_pass http://wp-network:80/; } // 注意:这里的80端口为wordpress镜像暴露的端口,(即DockerFile中expose的端口), // 并不是映射到主机的端口。(其实也没必要映射端口了)
关于docker 中network如何使用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
当前名称:docker中network如何使用
本文来源:http://ybzwz.com/article/pcgcps.html