赞
踩
目录
子网掩码是 “255.255.255.0” 的网络:最后面一个数字可以在 0~255 范围内任意变化,因此可以提供 256 个 IP 地址。但是实际可用的 IP 地址数量是 256-2 ,即 254 个,因为主机号不能全是 “0” 或全是 “1” 。子网掩码是 “255.255.0.0” 的网络:后面两个数字可以在 0~255 范围内任意变化,可以提供 255² 个 IP 地址。但是实际可用的 IP 地址数量是 255²-2 ,即 65023 个。 IP 地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地主机不在同一子网内的目标主机的数据,会因为错误的判断而认为目标主机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目标主机,导致网络传输错误;如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。因此,子网掩码应该根据网络的规模进行设置。如果一个网络的规模不超过 254 台电脑,采用“255.255.255.0” 作为子网掩码就可以了,现在大多数局域网都不会超过这个数字,因此“255.255.255.0” 是最常用的 IP 地址子网掩码;假如在一所大学具有 1500 多台电脑,这种规模的局域网可以使用 “255.255.0.0” 。
网关实质上是一个网络通向其他网络的IP地址。 路由器(Windows下叫默认网关,网关就是路由,路由就是网关不要蒙)
在计算机网络中,主机 ID 全部为 0 的地址为网络地址,而主机 ID 全部为 1 的地址为广播地址这 2 个地址是不能分配给主机用的。
当你安装了docker,它会自动创建3个网络,可以使用 docker network ls 命令来查看
docker inspect brid
docker run -itd --net=bridge --name cname iname
- ip addr
- ifconfig
设置端口映射
docker run -itd --name bridge03 -p 8081:8080 spring:1.0
-p参数可以出现多次,绑定多个端口号
docker run -itd --name bridge05 -p 8082:8080 -p 8083:8080 spring:1.0
使用mysql
- docker run -it --name c1 centos
-
- mkdir -p /mysql/{conf,data}
-
-
- #授予用户所有权限
- grant all on *.* to dbl@'%' identified by '123456';
修改了application.xml 文件ip地址后,重启容器 ip 地址会发生改变。
注: 网桥中的ip只能自动生成
如果启动容器的时候使用 host 模式,那么这个容器将不会获得一个独立的 Network Namespace ,而是和宿主机共用一个Network Namespace 。容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP和端口。
主机模式 容器与主机共用端口与网络
- docker run -itd \
- --name t1 \
- --net host \
- tomcat:8.5.20
手动指定网段
docker network create --subnet=172.20.0.0/16 mynet
固定ip启动容器
- docker run -it \
- --name t1 \
- -p 8080:8080 \
- -v /soft:/usr/local/tomcat/webapps \
- --net mynet \
- --ip 172.20.0.100 \
- tomcat:8.5.20
-
-
- docker run \
- --name m1 \
- -v /mysql/conf/my.cnf:/etc/my.cnf \
- -v /mysql/data:/var/lib/mysql \
- --privileged=true \
- -e MYSQL_ROOT_PASSWORD=123456 \
- --net mynet \
- --ip 172.20.0.99 \
- -d mysql/mysql-server:5.7

指定两个不同的容器
- ----------------mynet
- docker run -it \
- --name c1 \
- --net mynet \
- --ip 172.20.100.100 \
- -d centos
-
- ----------------bridge
- docker run -it \
- --name c2 \
- -d centos
-
- 让c1连接到bridge网络中
- docker network connect bridge c1
测试
- docker exec -it c1 ping mynet
-
- docker exec -it c1 ping 172.20.100.100
跨网桥测试
docker exec -it c2 ping mynet
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。