如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。只用这种网络的容器会使用主机的网络,这种网络对外界是完全开放的,能够访问到主机,就能访问到容器。
4.3 使用none模式
Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。使用此种网络的容器会完全隔离。
4.4 简单演示:
启动两个容器,查看其容器内部IP地址
for i in `docker ps |grep -v "CONTAINER"|awk '{print $1}'`;do docker inspect $i|grep 'IPAddress';done
查看桥接模式下主机内部容器之间和容器与宿主机直接均可正常通讯
docker inspect 容器ID
查看host创建的容器内部没有IP地址,它使用的为宿主机的地址
docker run -d --net host docker.io/sergeyzh/centos6-nginx
查看host创建的容器内部没有IP地址,它使用的为宿主机的地址
docker run -d --net none docker.io/sergeyzh/centos6-nginx
4.5 容器端口:
如果想让外界可以访问到,基于bridge网络创建的容器提供的服务,那你可以告诉Docker你要使用哪些接口。如果想查看镜像会使用哪些端口,ExposedPorts,可以获悉镜像使用哪些端口。
docker run -d -p 80 docker.io/sergeyzh/centos6-nginx
docker port 09648b2ff7f6
-p 参数会在宿主机随机映射一个高端口到容器内的指定端口
docker run -d -p 80:80 docker.io/sergeyzh/centos6-nginx #将宿主机的80端口映射到容器的80端口
更多Docker相关教程见以下内容:
Linux 下的 Docker 安装与使用 https://www.linuxidc.com/Linux/2018-06/152996.htm
CentOS 7安装Docker应用容器引擎 https://www.linuxidc.com/Linux/2018-06/152856.htm
CentOS 7.3环境安装Docker 18.03 https://www.linuxidc.com/Linux/2018-05/152356.htm
使用Docker分分钟启动常用应用 https://www.linuxidc.com/Linux/2017-04/142649.htm
CentOS 7使用Docker搭建GitLab服务器 https://www.linuxidc.com/Linux/2018-04/151725.htm
30分钟带你了解Docker https://www.linuxidc.com/Linux/2018-08/153346.htm
Docker容器常见操作详解 https://www.linuxidc.com/Linux/2018-08/153685.htm
Docker发布应用程序指南 https://www.linuxidc.com/Linux/2018-08/153405.htm
Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx