使用主机网络联网
预计阅读时间:2分钟
本系列教程介绍了网络独立容器,这些容器直接绑定到Docker主机的网络,没有网络隔离。有关其他联网主题,请参见概述。
目标
本教程的目标是启动一个nginx
容器,该容器直接绑定到Docker主机上的端口80。从网络的角度来看,这与nginx
进程直接在Docker主机而不是在容器中运行的隔离级别相同。但是,通过所有其他方式(例如存储,进程名称空间和用户名称空间),nginx
进程与主机是隔离的。
先决条件
-
host
网络驱动程序仅适用于Linux主机,而Mac的Docker桌面,Windows的Docker桌面或Windows Server的Docker EE不支持该网络驱动程序。
程序
-
创建并启动容器,作为一个独立的过程。该
--rm
选项意味着一旦容器退出/停止就将其移除。该-d
标志意味着要启动分离的容器(在后台)。docker run --rm -d --network host --name my_nginx nginx
-
通过浏览到http:// localhost:80 /来访问Nginx 。
-
使用以下命令检查您的网络堆栈:
-
检查所有网络接口,并确认未创建新的网络接口。
ip addr show
-
使用
netstat
命令验证哪个进程绑定到端口80 。您需要使用sudo
该进程,因为该进程归Docker守护程序用户所有,否则您将无法看到其名称或PID。sudo netstat -tulpn | grep :80
-
-
停止容器。使用
--rm
选项启动时,它将自动删除。docker container stop my_nginx
其他网络教程
既然您已经完成了独立容器的网络教程,那么您可能需要运行以下其他网络教程:
网络,主机,独立