接上一篇jupter远程访问

docker中容器与宿主机之间的网络关系

一、PC上的网络关系

1、网卡的物理地址

网卡的物理地址(MAC地址):是网卡的唯一标识。由生产厂商写入网卡中。MAC地址就如同我们身份证上的身份证号码,具有全球唯一性
在这里插入图片描述

2、IP地址

IP地址是设备接入局域网时,局域网所分配的一个地址,在接入局域网的这段时间内,跟物理地址绑定,成为该设备在局域网中的唯一标识。可以被公网访问

3、回环地址

本地环回环地址时以127开头的地址127.0.0.1 —> 127.255.255.254,是由http协议规定,用于本地主机的进程间的通信之用。若主机发送一个目的地址为环回地址的IP数据报,则本主机中的协议软件就处理该数据报中数据,而不会将数据报发送到任何网络。目的地址为环回地址的IP数据报永远不会出现在任何网络上,因为网络号为127的地址根本不是网络地址。不可以被公网访问

4、localhost

localhost时一个域名,如www.baidu.com.其具体的地址时可以配置的,一般情况下默认指向的地址为127.0.0.1。不可以被公网访问

5、0.0.0.0

0.0.0.0,最特殊的一个ip地址,代表的是本机所有ip地址,不管你有多少个网口,多少个ip,如果监听本机的0.0.0.0上的端口,就等于监听机器上的所有ip端口。换句话说,就是只要数据报目的地址是你机器上的一个ip地址,那么就能被接受。这个ip相当于java中的this,代表当前设备的IP。
在这里插入图片描述

二、docker中容器与宿主机之见的网络

在这里插入图片描述
本机访问容器:
容器将自己的3306端口映射到宿主机的3306端口,因此要访问容器只能通过宿主机的3306端口访问容器的3306端口进而跟容器通信。能够访问宿主机的3306端口的地址有 在宿主机中有
回环地址
hocalhost
以及宿主机地址
公网访问容器
在公网必须通过宿主机地址访问宿主机的3306端口参能访问容器的3306端口,才能访问容器。
容器在起服务时需要指定ip给外部访问,起可以指定为自己的容器地址,或者0.0.0.0。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐