文章目录
Docker-网络模式
1.Docker网络模式概述
Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP, 同时Docker网桥是 每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。
启动docker后,使用ifconfig可以看到docker的网桥
然后运行一个容器
1.1 docker网络模式实验
Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接通过Container-IP访问到容器。如果容器希望外部访问能多访问到,可以通过映射容器端口到宿主主机(端口映射),即docker run创建容器时候通过-p或-P参数来启用,访问容器的时候就通过[宿主机IP]:[容器端口]访问容器。
docker run -itd --name test1 -P nginx #使用大写p进行随机端口映射
docker run -itd --name test2 -p 44541:80 nginx #使用小写p加端口进行指定的端口映射
docker ps -a
[root@local ~]# docker run -itd --name test1 -P nginx
b9527c89fb49da2d116f63bd180d41debf4c0f6761e74693930ff757de120952
[root@local ~]# docker run -itd --name test2 -p 44541:80 nginx
5ace523962fc7a84ae9250befdb7e61c67171753bd375689b42ae3cbfb5e5bb7
[root@local ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5ace523962fc nginx "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 0.0.0.0:44541->80/tcp, :::44541-