docker端口映射
端口开放方式
#随机端口映射————测试环境适用
docker run --name 容器名 -P 镜像名 shell命令
#-P(大写),--publish-all:产生一个随机映射端口
#如果使用nginx镜像容器,bash会覆盖nginx容器启动后的第一条命令。nginx服务器不能正常运行
#手动指定端口映射————生产环境适用
docker run --name 容器名 -p **** 镜像名 shell命令
#-p(小写),--piblish
#“****”:1.完整:宿主机IP:宿主机端口:容器端口 ;2.精简:宿主机端口:容器端口
#可添加多个映射端口
查看映射端口
docker port 容器名/容器ID
网络管理命令
命令字段关键字
connect 将一个容器加入到网络中
create 创建一个网络
disconnect 将容器从网络中移除
inspect 查看网络的详细信息
ls 查看网络列表
prune 删除所有未使用的网络 — 慎用
rm 删除指定的一个或多个网络
docker常用网络模式
-
- bridge
- host
- none
- container
- overlay
基础命令
#多个docker容器想进行数据通信。前提:这些docker容器必须在同一个网络中
docker network ls #查看网络列表
docker network rm 网络名/网络ID #指定删除一个或多个网络
docker network insepect 网络名/网络ID #查看网络的详细信息
bridge网络模式
创建bridge网络:----只指定名字
docker network create -d 驱动名 网络名
自定义网段与网关:----指定名字的同时,指定网关、网段
docker netword create -d 驱动名 --subnet 子网网段 --gateway 网关 网络名
#--gateway 网关
#--subnet 子网网段 必须同时指定掩码
自定义网络中启动容器:
docker create -it --name 容器名 --network 网络名 镜像名 shell命令
docker run -itd --name 容器名 --network 网络名 镜像 shell 命令
容器断开网络
docker network disconnect 网络名 容器名
容器连接网络
docker network connect 网络名 容器名
#同一个容器可以加入到多个bridge网络中
host网络
特性:共享主机的网络属性
- 可以在创建容器时,指定加入到 host 网络中。 该容器没有IP、网段、网关、mac地址。。。
- 已经加入到host网络中的容器,不能使用 disconnect 断开。
- 即使没有加入任何网络的容器,也不能 在后期加入到 host网络中。