Docker容器技术 配置、部署与应用电子活页-03.01.容器使用主机网络.docx
容器使用主机网络
主机网络用于启动直接连接到Docker主机网络栈的容器,使用的是host网络模式,实质上是关闭Docker网络,而让容器直接使用主机操作系统的网络。
这里以启动一个直接绑定到Docker主机的80端口的nginx容器为例进行示范。从网络角度看,这与nginx进程直接在Docker主机上而不是容器中直接运行具有相同的隔离级别。然而,所有其他方面,比如存储、进程名称空间和用户名称空间,nginx还是和主机隔离的。在操作之前,确认端口80在Docker主机上未被占用。
(1)以分离模式创建nginx容器,使之作为后台进程运行。选项--rm表示该容器退出或停止时会被自动删除。
[root@host1~]#dockerrun--rm-d--networkhost--namemynginxnginx
Unabletofindimagenginx:latestlocally
latest:Pullingfromlibrary/nginx
a2abf6c4d29d:Pullcomplete
a9edb18cadd1:Pullcomplete
589b7251471a:Pullcomplete
186b1aaa4aa6:Pullcomplete
b4df32aa5a72:Pullcomplete
a0bcbecc962e:Pullcomplete
Digest:sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status:Downloadednewerimagefornginx:latest
ef315d529dd259e93edf79740a8eff423f19afce5527fd14c7d9f80f8daf736a
(2)使用以下命令测试nginx服务的访问。
[root@host1~]#curlhttp://localhost:80
!DOCTYPEhtml
html
head
titleWelcometonginx!/title
style
html{color-scheme:lightdark;}
body{width:35em;margin:0auto;
font-family:Tahoma,Verdana,Arial,sans-serif;}
/style
/head
body
h1Welcometonginx!/h1
pIfyouseethispage,thenginxwebserverissuccessfullyinstalledand
working.Furtherconfigurationisrequired./p
pForonlinedocumentationandsupportpleasereferto
ahref=//a.br/
Commercialsupportisavailableat
ahref=//a./p
pemThankyouforusingnginx./em/p
/body
/html
返回的结果表明可以通过主机的80端口直接访问该容器。
(3)检查网络栈。
首先执行ipaddrshow命令检查所有网络接口,可以发现并没有新的网络接口创建。
[root@host1~]#ipaddrshow
1:lo:LOOPBACK,UP,LOWER_UPmtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000
link/loopback00:00:00:00:00:00brd00:00:00:00:00:00
inet/8scopehostlo
valid_lftforeverpreferred_lftforever
inet6::1/128scopehost
valid_lftforeverpreferred_lftforever
2:ens160:BROADCAST,MULTICAST,UP,LOWER_UPmtu1500qdiscmqstateUPgroupdefaultqlen1000
link/ether00:0c:29:be:0d:5ebrdff:ff:ff:ff:ff:ff
altnameenp3s0
inet1/24brd55scopeglobalnopre