温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

docker 中network如何使用

发布时间:2021-07-30 15:20:46 来源:亿速云 阅读:322 作者:Leah 栏目:大数据

docker 中network如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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如何使用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI