host模式
host模式可以让docker与宿主机共享同一个网络命名空间。它将容器的网络直接绑定到宿主机的网络上,但是这样一来主机网络与容器网络之间不再具有隔离性。
我们通过启动一个nginx容器来理解什么是host模式。启动一个nginx容器将它直接绑定到宿主机的80端口。从网络的角度来看,这与nginx进程直接在 Docker 主机上运行而不是在容器中运行是相同级别的隔离。但是,所有其他方面(如存储、进程空间和用户命名空间),nginx进程与主机是隔离的。
执行步骤
创建和启动一个容器,然后作为独立的一个进程运行。--rm选项表示一旦容器退出或停止就移除容器。-d表示使容器在后台运行。
2. 通过http://localhost:80/来访问nginx。
3. 使用下面的命令检查docker的网络栈:
检查所有的网络接口然后没有新的接口被创建。
使用netstat来检查哪个进程被绑定到80端口。这里需要使用sudo,因为进程由Dokcer守护进程的用户拥有否则我们无法看到它的名字或PID。
4. 停止容器,它会被自动删除,因为我们指定了--rm选项。
Last updated