保障房建设网站首页,个人网站建站源码,手机兼职赚钱一单一结50元,推广型网站如何建站目录
一. Docker网络介绍 1.1 网络模式 1.2 bridge模式(默认模式) 1.2.1 什么是桥接模式 1.2.2 效果演示 1.2.3 桥接模式的特点 1.3 host模式 1.3.1 什么是host模式 1.3.2 仅主机模式的特点
二. Docker网络实操 2.1 bridge桥接模式 2.1 host仅主机模式
三. Docker自定义网络…目录
一. Docker网络介绍 1.1 网络模式 1.2 bridge模式(默认模式) 1.2.1 什么是桥接模式 1.2.2 效果演示 1.2.3 桥接模式的特点 1.3 host模式 1.3.1 什么是host模式 1.3.2 仅主机模式的特点
二. Docker网络实操 2.1 bridge桥接模式 2.1 host仅主机模式
三. Docker自定义网络 3.1 为什么要使用自定义网络 3.2 创建自定义网络 3.3 测试 一. Docker网络介绍 1.1 网络模式 Docker在创建容器时有四种网络模式bridge桥接/host主机/container容器一般不用/none一般不用bridge为默认不需要用--net去指定其他三种模式需要在创建容器时使用--net去指定
#查看网络模式
ip a
ifconfig#Docker网络模式相关命令查看
docker network --help#列出Docker现有网络模式
docker network ls#查看桥接模式下的网络状态
docker network inspect bridge#获取多个到容器id
docker ps -aq#删除所有容器 $代表引用
docker rm -f $(docker -ps -aq) 1.2 bridge模式(默认模式) 1.2.1 什么是桥接模式 docker run时使用--netbridge这种模式会为每个容器分配一个独立的Network Namespace, 同一个宿主机上的所有容器会在同一个网段下相互之间是可以通信的 注1bridge为默认模式不需要使用参数--net去指定使用了--net参数反而无效 注2bridge模式无法指定容器IP(但非绝对还是可以修改滴) 桥接模式宿主机启动两个容器|服务器会分配两个IP地址 1.2.2 效果演示
#查看桥接模式下的网络状态
docker network inspect bridge 1.2.3 桥接模式的特点
1. 先启动一个容器
docker run -di centos:7 可以看见出现了一个容器并且分配了一个 ip 为172.17.0.2 2. 下面再来一次再次启动一个容器
docker run -di centos:7 可以发现在原来的容器基础上又增添了一个新的容器并且又添加了一个新的 ip 1.3 host模式 1.3.1 什么是host模式 docker run时使用--nethost容器将不会虚拟出IP/端口而是使用宿主机的IP和端口 docker run -itd --nethost 961769676411 注1host模式不能使用端口映射和自定义路由规则这些都与主机一致-p 与-icc 参数是无效的 1.3.2 查看仅主机模式的特点
#查看主机模式下的网络状态
docker network inspect host #--nethost指定容器为仅主机模式--restartalways开机自启动
docker run -di --name c1 --nethost --restartalways centos:7 可以看出host仅主机模式是不会分配虚拟IP 二. Docker网络实操 2.1 bridge桥接模式
一些常用的指令
#查看我们自身创建的
docker images#这种不需要开放宿主机防火墙端口如8081端口不需要开放
docker run -di --name tomcat1 -p 8080:8080 94d2357d288e#--restartalways容器随着Docker引擎启动而启动
docker run -di --name tomcat2 --restartalways -p 8081:8080 94d2357d288e
#查看我们自身创建的镜像
docker images#映射
docker run -di -P --name mt2 94d2357d288e 映射成果 但是随机分配的端口比较难记住不好掌控那我们来指定端口 #8081映射8080
docker run -di -p 8081:8080 --name mt3 94d2357d288e 映射成功 2.1 host仅主机模式 需要指定模式但是不需要指定端口默认会使用宿主机端口会一一对应如果部署了两个相同的服务像是8080就必须使用桥接模式
#这种要开放宿主机防火墙端口
docker run -di --nethost --name mt5 --restartalways 94d2357d288e #指定数据卷如果不记得数据卷跟谁绑定了就用这个
docker run -di --name mt5 -v /javacy/software/mydocker/:/home/javacy/docker --nethost --restartalways 94d2357d288e#查看该容器的详细信息
docker inspect mt5容器名字
三. Docker自定义网络 3.1 为什么要使用自定义网络 是为了容器之间能相互通信。因为开发会使用微服务springCloud会把一个项目拆成多个项目进行操作例如 用户微服务 项目1订单微服务 项目2商品微服务 项目3 而模块与模块之间是需要相互访问的所以容器与容器之间也是需要相互通信如果不通信的话就会访问不了而要通信就必须知道服务部署在哪里这时就需要知道ip也需要指定ip此时桥接网络和仅主机网络是不能满足我们的需求的所以我们需要使用自定义网络进行操作。 3.2 创建自定义网络
1. 创建自定义网络
#创建自定义网络
docker network create --subnet172.18.0.0/16 mynetwork#查看网络
docker network ls 0/16分配会从0到16这几个ip进行选择 mynetwork是名字 2. 分配指定ip
docker run -it --name tomcat8 --netmynetwork -v /javacy/software/mydocker/:/home/javacy/docker --ip 172.18.0.8 94d2357d288e /bin/bash 3.3 测试
再开一个新的连接查看ip是不是自己定义的
#查看网络 mynetwork是名字
docker network inspect mynetwork 可以发现创建成功了 也可以进入容器的内部检查内部的网络情况
#查看镜像
docker images#进入容器内部 tomcat8是容器名字
docker exec -it tomcat8 /bin/bash#要进行下载因为没有ifconfig这个命令
yum install -y vim#下载命令
yum install net-tools.x86_64 -y#查看命令
ifconfig 发现IP是固定