docker端口
-
指定映射
-P
docker run -d -P nginx
指定主机随机映射-p
-
宿主机ip:宿主机的随机端口:容器端口
docker run -d -p [宿主机ip]::[容器端口] --name [容器名称] [镜像名称]
-
指定主机端口映射
-p
docker run -d -p [宿主机ip]:[宿主机端口]:[容器端口] --name [容器名称] [镜像名称]
-
指定多端口映射
-p
docker run -d -p [宿主机端口]:[容器端口] -p [宿主机端口]:[容器端口] -p [宿主机端口]:[容器端口] ... --name [容器名称] [镜像名称]
网络命令
docker network ls
查看网络列表
docker network inspect [容器id]
查看容器网络详细信息
docker port [容器id]
查看容器端口
网络模式
bridge
使用默认的桥接是可以联网
使用自定义的桥接默认不可以联网,需要自己配置
-
创建bridge的网络
docker network create --driver bridge [网络名字]
-
创建bridge的网络,并创建自定义网段和网关信息
docker network create --driver bridge --gateway 172.99.0.1 --subnet 172.99.0.0/16 [网络名字]
host
容器使用宿主机的ip地址进行通信。
特点:容器和宿主机共享网络
none
这种模式最纯粹,不会帮你做任何网络的配置,可以最大限度的定制化。
不提供网络服务,容器启动后无网络连接。
overlay
容器彼此不再同一网络,而且能互相通行。
container
新创建的容器使用已创建的容器网络。
特点:容器和容器共享网络
定制网桥
sudo apt-get install bridge-utils -y
安装网桥工具
brctl help
查看工具帮助
brctl show
查看当前网桥
sudo brctl addbr [名字]
新增网桥
sudo ifconfig br0 192.168.99.1 netmask 255.255.255.0
设置br0
在自定义网络中启动容器
docker run --net=[网络名] -itd --name [容器名字] [镜像名]
网络连接和断开
断开网络
docker network disconnect [网络名] [容器名]
断开网络后重新连接网络
docker network connect [网络名] [容器名]