docker的网络模式
docker network ls //查看默认的网络
1. bridge:桥接网络
默认情况下启动的Docker容器,都是使用 bridge,Docker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启下,Docker的IP地址就变了
2. none:无指定网络
使用 --network=none ,docker 容器就不会分配局域网的IP
3. host: 主机网络
主机网络 使用 --network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。 例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中
4.docker自定义网络
docker network create --subnet=网段 自定义名称
示例:
创建自定义网络,并指定网段:192.168.1.0/24 并命名为mynetwork
docker network create --subnet=192.168.1.0/24 mynetwork
列出所有网络:docker network ls
docker相关命令:
docker build -t 自定义名称 . //构建镜像
docker build -t 自定义名称 . --no-cache //不从缓存构建镜像
docker run -itd --name 自定义容器名 镜像名称 //创建容器
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-V: 为容器挂载目录,比如 /usr/docker/data:/data 前者为数宿主机目录后者为容器内目录
--ip: 为容器制定一个固定的ip
--net: 指定网络模式
示例:
docker run -itd --name redis-master -p 6380:6379 redis //端口映射
docker run -itd --name redis-master -p 6380:6379 -v /usr/docker/test/redis:/data 6380:6379 redis //共享目录
docker run -itd --name redis-master --net mynetwork -p 6380:6379 --ip 192.168.1.2 redis //指定网络模式
docker ps -a //查看所有容器
docker inspect 容器名称 //查看容器详细信息
docker exec -it 容器名 bash //进入容器内部
docker logs 容器名 //查看容器日志
docker network ls //列出所有网络
iptables -t nat -L -n