Docker进阶 - 7. docker network 网络模式之 host

目录

1. host 模式概述

2. host模式代码语法

3. docker inspect 查看 bridge/host模式 容器元数据

4. ip addr 进入 tomcat83 (host模式) 容器内部查看容器ip

5. 如何访问启动 tomcat83 (host模式)


1. host 模式概述

直接使用宿主机的IP地址与外界进行通信,不再需要额外进行NAT转换。容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace,同时容器将不会虚拟出自己的网卡,而是使用宿主机的IP和端口,如下图host模式所示:

Docker进阶 - 7. docker network 网络模式之 host_第1张图片


2. host模式代码语法

一般情况下,新建一个容器,默认使用的网络模式为 bridge,如果想要指定为 host 模式,需要使用 --netowrk host 指定,如下所示。但需要注意的是,不需要写 -p 这个参数,因为 host 模式不会进行端口映射!!

docker run-d --network host--name tomcat83 billygoo/tomcat8-jdk8

使用 docker ps 查看容器 tomcat83 情况,其中 tomcat83 为 host模式,剩下的为bridge模式:


3. docker inspect 查看bridge/host模式容器元数据

由于 tomcat83 为 host模式,tomcat81 和 tomcat 82 为bridge模式。所以 tomcat81的虚拟ip和网关为空,tomcat81 和 tomcat 82 不为空,因为在容器起到后Docker网桥会分配给容器id。

 Docker进阶 - 7. docker network 网络模式之 host_第2张图片

Docker进阶 - 7. docker network 网络模式之 host_第3张图片

 Docker进阶 - 7. docker network 网络模式之 host_第4张图片


4. ip addr 进入 tomcat83 容器(host模式)内部查看容器ip

通过进入tomcat83查看容器ip,可看到容器内部的ip显示和宿主机的一样。

5. 如何访问启动 tomcat83(host模式)

同上述所说,此时容器的ip是使用宿主机的,所以容器内共享宿主机的网络ip。因此直接使用:http://宿主机ip:8080/ 即可。

注:本文部分图文内容来自于 docker network之host 的学习笔记,仅供参考。如看其他Docker内容,可看我博客Docker系列aaron_neil_Dcoker系列,持续更新中。

你可能感兴趣的:(Linux,#,Docker,docker,网络,运维,host模式,容器)