码头工人系列6:码头工人网络管理

  

<强>一、创建容器时候的选项

<李>

——网络xx:指定容器使用的网络类型

<李>

——主机名xx:指定容器使用的主机名

<李>

——dns . x.x.x。x:指定容器使用的DNS地址

<李>

——DNS搜索xxx:指定搜索域,默认搜索域是宿主机

<李>

——add-host域名:地址在主机文件添加记录

<强> <强>

<>强创建容器的时候,默认用没有网络

<李>

可以再创建容器的时候,用网络选项来指定容器的类型是没有

<>强创建容器

[root@host1 ~] #码头工人——名字t1 - rm \运行   比;——网络——没有一个主机名t1 dns 114.114.114.114 \   比;linux——dns搜索。io \   比;——add-host www.baidu.com:为1.2.3.4   比;busybox <李>

此时这个容器是没有地址的

<强>

<李>

安装容器的目的是让用户访问容器的服务

<李>

而容器通常是以nat方式工作,也就是隐藏在docker0网桥后,用户无法访问

<李>

因此需要将容器暴露在网络中才可以

<强>

<强>案例:启动一个apache并将其80年端口暴露出来

[root@host1 ~] #码头工人运行——名字httpd1 - - p 80 rm busybox   警告:IPv4转发是禁用的。网络不工作。/#/# mkdir/html/#回声”& lt; h2>测试page“在祝辞/html/index . html/#/# httpd - h/html//#/# netstat——   活跃的互联网连接(服务器)   原型Recv-Q Send-Q本地地址外国地址状态   tcp 0 0::: 80::: *听

<强>此时,就可以在宿主机访问了

root@host1 ~ # 172.17.0.2旋度   测试页面

<强>

<李>

码头工人

[root@host1 ~] # iptables - l - n - t nat   …   …   …   链码头工人(2引用)   目标prot选择源目的地   返回所有——0.0.0.0/0 0.0.0.0/0   DNAT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 32770: 172.17.0.2:80

<强>码头工人命令可以查看端口映射关系

root@host1 ~ # httpd1港码头工人   80/tcp→0.0.0.0:32770

<>强在其他主机上访问这个主机上的容器

奥胪饭と讼盗?:码头工人网络管理"

<李>

当这个容器被删除了,这个端口映射规则自动删除

<强>

案例:创建apache容器,将80端口映射到宿主机的8081端口

[root@host1 ~] #码头工人——名字httpd1 - - p 80:8081运行rm busybox/# root@host1 ~ # httpd1港码头工人   8081/tcp→0.0.0.0:80

<李>

方法1中的效果是将容器的端口映射到宿主机的随机端口,这个端口会绑定在宿主机的所有IP上面。

<李>

- p宿主机IP::容器端口

的指定端口

<李>

方法3中的效果是将容器的端口映射到宿主机的指定端口,这个端口会绑定在宿主机的所有IP上面。

<李>

- p宿主机IP:宿主机端口:容器端口

<强> <强>

<强>

<李>

<强>

<强>

[root@host1 ~] #码头工人运行——名字httpd1 - rm busybox/#/# ip addr   1:lo: & lt;环回,LOWER_UP>mtu 65536 qdisc noqueue qlen 1000   链接/回环00:00:00:00:00:00 brd 00:00:00:00:00:00   inet 127.0.0.1/8主机lo范围   valid_lft永远preferred_lft永远   13:eth0@if14: & lt;广播、多播、,LOWER_UP, M-DOWN>mtu 1500 qdisc noqueue   链接/醚02:42:ac: 11:00:02 brd ff: ff: ff: ff: ff: ff   全球eth0 inet 172.17.0.2/16 brd 172.17.255.255范围   valid_lft永远preferred_lft永远/#/#主机名   2 ce8cf2a2f28/#/# mkdir/html/#呼应“测试页面”祝辞/html/index . html/# httpd - h/html//#/# wget - o - - q 127.0.0.1   测试页面/#

<强>再创建一个容器,并加入上个容器的名称空间中

[root@host1 ~] #码头工人——名字httpd2——网络运行容器:httpd1——rm - busybox/#/# ip addr   1:lo: & lt;环回,LOWER_UP>mtu 65536 qdisc noqueue qlen 1000   链接/回环00:00:00:00:00:00 brd 00:00:00:00:00:00   inet 127.0.0.1/8主机lo范围   valid_lft永远preferred_lft永远   13:eth0@if14: & lt;广播、多播、,LOWER_UP, M-DOWN>mtu 1500 qdisc noqueue   链接/醚02:42:ac: 11:00:02 brd ff: ff: ff: ff: ff: ff   全球eth0 inet 172.17.0.2/16 brd 172.17.255.255范围   valid_lft永远preferred_lft永远/#/#主机名   2 ce8cf2a2f28/#/# wget - o - - q 127.0.0.1   测试页面/#

码头工人系列6:码头工人网络管理