docker网络怎么配置

发布时间:2022-02-16 15:12:11 作者:iii
来源:亿速云 阅读:256

本篇内容介绍了“docker网络怎么配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

docker网络怎么配置

Docker 配置容器的步骤是:

1.创建一对虚拟接口

2.在主Docker主机内部给它一个唯一的名称,比如veth75f9,绑定它到docker0或者Docker使用的任何网桥上

3.让其他的接口翻墙进入新的容器(已经提供了lo接口),在容器的独立和唯一网络接口命名空间内,重新命名它为更漂亮的名字eth0,名称不要和其他的物理接口冲突。

4.在网桥的网络地址访问内给容器的eth0一个新的IP地址,设置它的缺省路由为Docker主机在网桥上拥有的IP地址。

这些步骤结束后,容器将立即拥有一个eth0(虚拟)网卡,并会发现它自己可以和其他的容器以及互联网通讯。 你可以使用 –net= 这个选项来执行 docker run 启动一个容器,这个选项有一下可选参数。

–net=bridge— 默认选项,用网桥的方式来连接docker容器。

–net=host— docker跳过配置容器的独立网络栈。

–net=container:NAME_or_ID— 告诉docker让这个新建的容器使用已有容器的网络配置。

–net=none— 告诉docker为新建的容器建立一个网络栈,但不对这个网络栈进行任何配置,所以只能访问本地网络,没有外网。

一,桥接模式

这是 docker 默认的网络模式,Docker 后台程序会创建 docker0,一个虚拟的以太网桥,用于自动转发与之连接的任意网络接口间的数据包。在bridge模式下,连在同一网桥上的容器可以相互通信。

docker网络怎么配置
[root@sta2 docker]# docker run -it -P --name mynginx nginx #为容器做端口映射

使用桥接模式时,docker会创建一个docker0 的网桥,并将这个网络设备加入到docker0网桥中,可以通过brctl show命令查看。

[root@sta2 ~]# brctl showbridge name bridge id STP enabled interfaces
docker0 8000.3e2d35d38bae no vethab6aea2

从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。

容器中的网络配置:

docker网络怎么配置

查看映射端口配置:

[root@sta2 docker]# docker ps -l
docker网络怎么配置

或者使用以下方法查看映射端口配置:

[root@sta2 docker]# docker port mynginx443/tcp -> 0.0.0.0:32774
80/tcp -> 0.0.0.0:32775

当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口,nginx 映射的端口固定为32774 和 32775。

查看访问日志:

[root@sta2 docker]# docker logs -f mynginx
docker网络怎么配置

使用 -p(小写的)则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器,-p 标记可以多次使用来绑定多个端口。支持的格式有 ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort 。

可以使用 hostPort:containerPort 映射所有接口地址:

# docker run -d -p 5000:5000 --name mydocker nginx

此时默认会绑定本地所有接口上的所有地址。 可以使用 ip:hostPort:containerPort 格式指定映射使用一个特定地址,映射到指定地址的指定端口

# docker run -d -p 127.0.0.1:5000:5000 --name mydocker nginx

使用 ip::containerPort 绑定 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。映射到指定地址的任意端口:

# docker run -d -p 127.0.0.1::5000 --name mydocker nginx

docker 做端口映射时会生成 iptables 规则,端口映射前的 iptables 规则:

docker网络怎么配置

端口映射后的 iptables 规则:

docker网络怎么配置

二,host 模式

此模式使用主机的网络

# docker run -it --name feiyu-host --net=host busybox sh
docker网络怎么配置

三,other container 模式

这种模式下与其他容器共享一个网络

# docker run -it --name feiyu-con --net=container:feiyu busybox sh
docker网络怎么配置

四,none 模式

这种模式只能访问本地网络,没有外网。

docker网络怎么配置

“docker网络怎么配置”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. Docker 网络
  2. docker手动配置网络

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

docker

上一篇:CentOS中怎么快速安装docker

下一篇:怎么通过SSH登录docker

相关阅读

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

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