对于想了解dockernetwork参数的读者,本文将提供新的信息,我们将详细介绍docker参数详解,并且为您提供关于002-docker-network常用命令、Docker-命令-dockern
对于想了解docker network 参数的读者,本文将提供新的信息,我们将详细介绍docker参数详解,并且为您提供关于002-docker-network 常用命令、Docker - 命令 - docker network、Docker CLI - docker network inspect、docker compose中的两级networks作用的有价值信息。
本文目录一览:- docker network 参数(docker参数详解)
- 002-docker-network 常用命令
- Docker - 命令 - docker network
- Docker CLI - docker network inspect
- docker compose中的两级networks作用
docker network 参数(docker参数详解)
一、 格式
docker network COMMAND
二、COMMAND 讲解
2.1 、docker network connect
- 格式
docker network connect [OPTIONS] NETWORK CONTAINER
# 将容器连接到网络。您可以按名称或ID连接容器。连接后,容器可以与同一网络中的其他容器通信。
- options 参数
简参数,参数 | 描述 |
---|---|
--alias | 为容器添加网络范围的别名 |
--driver-opt | 网络的驱动程序选项 |
--ip | IPv4 地址(例如 172.30.100.104) |
--ip6 | IPv6 地址(例如 2001:db8 :: 33) |
--link | 将链接添加到另一个容器 (建议不用,后期应该会删除的) |
--link-local-ip | 为容器添加本地链接地址 |
- 例子
# 将正在运行的容器(container1)连接到网络(multi-host-network)
docker network connect multi-host-network container1
# 启动容器时将其连接到网络(multi-host-network)
docker run -itd --network=multi-host-network busybox
#您可以指定要分配给容器接口的IP地址
docker network connect --ip 10.10.36.122 multi-host-network container2
2.2 docker network disconnect
- 格式
docker network disconnect [OPTIONS] NETWORK CONTAINER
# 断开容器与网络的连接
- OPTIONS 参数
简参数,参数 | 描述 |
---|---|
-f,--force | 强制容器断开网络连接 |
- 例子
# 将正在运行的容器(container1)端口网络(multi-host-network)
docker network disconnect multi-host-network container1
2.3 docker network create
- 格式
docker network create [OPTIONS] NETWORK
# 创建一个新的网络
- OPTIONS 参数
简参数,参数 | 默认 | 描述 |
---|---|---|
--attachable | API 1.25 + 启用手动容器附件 | |
--aux-address | 网络驱动程序使用的辅助 IPv4 或 IPv6 地址 | |
--config-from | API 1.30 + 从中复制配置的网络 | |
--config-only | API 1.30 + 创建仅配置网络 | |
-d,--driver | bridge | 驱动程序来管理网络 |
--gateway | 主子网的 IPv4 或 IPv6 网关 | |
--ingress | API 1.29 + 创建群集路由网状网络 | |
--internal | 限制外部访问网络 | |
--ip-range | 从子范围分配容器 ip | |
--ipam-driver | IP 地址管理驱动程序 | |
--ipam-opt | 设置 IPAM 驱动程序特定选项 | |
--ipv6 | 启用 IPv6 网络 | |
--label | 在网络上设置元数据 | |
-o,--opt | 设置驱动程序特定选项 | |
--scope | API 1.30 + 控制网络范围 | |
--subnet | 代表网段的 CIDR 格式的子网 |
- 例子
# 创建新的网络, 网络模式为bridge
docker network create -d bridge my-bridge-network
2.4 docker network inspect
- 格式
docker network inspect [OPTIONS] NETWORK [NETWORK...]
# 返回有关一个或多个网络的信息。默认情况下,此命令将所有结果呈现在JSON对象中。
- OPTIONS 参数
简参数,参数 | 描述 |
---|---|
-f,--format | 使用给定的 Go 模板格式化输出 |
-v,--verbose | 详细输出以进行诊断 |
- 例子
# 返回网络名为 swagger_default 的网络信息
docker network inspect swagger_default
# 返回网络名为 swagger_default ,workpool_default 的网络信息
docker network inspect workpool_default swagger_default
2.5 docker network ls
- 格式
docker network ls [OPTIONS]
# 列出引擎daemon知道的所有网络。这包括跨群集中多个主机的网络
- OPTIONS 参数
简参数,参数 | 描述 |
---|---|
-f,--filter | 提供过滤器值(例如 “driver = bridge”) |
--format | 使用 Go 模板的精美印刷网络 |
--no-trunc | 不要截断输出 |
-q,--quiet | 仅显示网络 ID |
- 例子
# 列出所有网络
docker network ls
# 列出所有网络ID
docker network ls -q
# 列出所有网络 driver=bridge的网络ID
docker network ls -f driver=bridge -q
2.6 docker network prune
- 格式
docker network prune [OPTIONS]
# 删除所有未使用的网络。未使用的网络是未被任何正在使用的容器引用的网络()。
# 不要乱来哦, 正在运行的容器的网络不会被删除,其他的都会被删哦
- OPTIONS 参数
简参数,参数 | 描述 |
---|---|
--filter | 提供过滤器值(例如 ''until ='') |
-f,--force | 不提示确认 |
- 例子
# 删除未被容器使用的网络
docker network prune
WARNING! This will remove all networks not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Networks:
n1
n2
2.7 docker network rm
- 格式
docker network rm NETWORK [NETWORK...]
# 按名称或标识符删除一个或多个网络。要删除网络,必须首先断开连接到它的所有容器。
- 例子
# 删除network ID 为ba26f8761a69、65a85a2ce6e0 的网络
docker network rm ba26f8761a69 65a85a2ce6e0
002-docker-network 常用命令
一、概述
1.1、基础操作
查看网络列表【默认提供三种网络】:docker network ls
创建一个driver为bridge的网络:(默认创建的就是bridge):docker network create 自定义network名
删除:docker network rm 自定义networkID
查看网络信息: docker network inspect centos66-net
1.2、docker 镜像使用
利用--network启动容器提供服务:
docker network rm -f centos66-net
docker network create centos66-net
docker run -dit --privileged --name=centos66 --net=centos66-net centos:6.6 /bin/bash
二、更多命令
原文地址:Docker network
Command | Description |
docker network connect | Connect a container to a network |
docker network create | Create a network |
docker network disconnect | Disconnect a container from a network |
docker network inspect | Display detailed information on one or more networks |
docker network ls | List networks |
docker network prune | Remove all unused networks |
docker network rm | Remove one or more networks |
帮助:docker network create --help
反倒是
Docker - 命令 - docker network
-
概述
- docker network 命令
-
背景
- newwork 是 docker 的一种资源
- 经常会使用
- 需要整理命令
1. 引入
-
概述
- docker run 时,将容器端口映射到宿主机
-
场景
-
启动 容器 时,经常会使用命令
- 将容器的某个端口暴露
- 并且映射到 host 的某个端口上
- 这样可以通过 host 的 ip 和 端口,直接访问
-
这个可能是我们对 docker 网络最初的认识
-
端口查看
-
记得用 命令 查看端口是否被占用,以免出现不必要的麻烦
-
命令
> netstat -utnlp
-
-
-
命令
# 注意 -p > docker container run --name some-nginx -p 10000:80 -v website:/usr/share/nginx/html -d nginx
-
结果
- 容器启动成功
- host 的 10000 端口,被映射到容器的 80 端口
- 可以用以下命令 来查看
> docker ps > docker container port <container>
- 可以用以下命令 来查看
2. docker --link
-
概述
- 不对外暴露端口,也可以让容器连接
-
场景
- 容器不想在 host 上暴露端口
- 容器希望与其他容器连接
-
准备
- 已经起来了一个容器,比如之前的 some-nginx
-
命令
# 在 ubuntu 里, 将 some-nginx 映射为了 nginx > docker container run --name ubuntu --link some-nginx:nginx -it ubuntu /bin/bash
-
结果
- 创建容器成功
- 尝试 ping nginx 或者 some-nginx 都能成功
- 如果没有 ping, ref 里有一个链接可以解决
-
其他
-
查看环境变量,会发现很多 nginx 相关的变量
> env | grep -i ''nginx''
-
查看 hosts, 也会有
> cat /etc/hosts
-
对于这个 --link 原理的猜测
- 向系统写入 环境变量
- 向系统写入 hosts 文件
-
其实,后面有个 url, 就是这么理解的
- 但是老实说,我没看明白,所以我暂时不敢下结论
-
-
问题
-
问题 1: 如果两个容器需要互相 link, 怎么办?
- 问题
- 先启动的那个,肯定没办法 link 后启动的
- 解决
- 生产中,让不需要找其他服务器的组件先启动
- 尝试在启动后,加入 link
- 貌似不可行
- 启动后直接修改 hosts 文件
- 通过某种方式推送,让所有机器认识自己人
- 那 link 的意义,其实不大
- 通过某种方式推送,让所有机器认识自己人
- 问题
-
问题 2: 容器的 宕机 和 重启,是否会影响连接
- 这个还没试过
-
问题 3: 是否还有其他方式,管理 容器间 的网络交互
-
3. docker network 命令
-
ls
-
概述
- 查看网络连接
-
命令
> docker network ls
-
-
inspect
-
概述
- 查看网络连接详情
-
命令
> docker network inspect <network>
-
-
connect
-
概述
- 容器连接网络
-
命令
> docker network connect <network> <container>
-
-
disconnect
-
概述
- 断开网络连接
-
命令
# -f 表示强制 # 成功后可以通过 inspect 查看 > docker network disconnect [-f] <network> <container>
-
-
create
-
概述
- 创建网络
-
命令
# 不能重名 > docker network create <network>
-
-
rm
-
概述
- 删除网络连接
-
命令
> docker network rm <network>
-
-
prune
-
概述
- 删除没有使用的网络连接
- 删除前会有确认
- 删除没有使用的网络连接
-
命令
> docker network prune
-
ps
-
ref
- Docker 容器与容器云
- Docker 经典实例
- Docker 实战
- docker network
- 关于对 docker run --link 的理解
- Docker 的 ubuntu 镜像安装的容器无 ifconfig 和 ping 命令的解决
-
虚拟化
- 服务器虚拟化
- 存储虚拟化
- 网络虚拟化
-
网络虚拟化
- 有想法的话,可以去学学 ovs/ovn
-
linux 相关的防火墙
- linux 的防护机制
- iptables
- firewalld
- selinux
- cgroup
- 这些东西,貌似并不好弄
- linux 的防护机制
-
后续
-
docker network 真正的原理
- docker 容器与容器云这本书里有写
- 网络
- 各种 network
- 容器
- sandbox
- endpoint
- 网络
- docker 容器与容器云这本书里有写
-
linux 网桥
- bridge 类型的网络,都是 linux 网桥
- 有空可以找找资料
- Linux 虚拟网络设备详解之 Bridge 网桥
- 网桥的本质,是 虚拟交换机
- 这玩意是个大课题,一句两句搞不定了
- bridge 类型的网络,都是 linux 网桥
-
Docker CLI - docker network inspect
用法
docker network inspect [OPTIONS] NETWORK [NETWORK...]
选项
名字,速记 | 默认 | 描述 |
--format , -f |
Format the output using the given Go template -----使用给定的Go模板格式化输出 | |
--verbose , -v |
Verbose output for diagnostics -----用于诊断的详细输出 |
扩展说明
返回有关一个或多个网络的信息。默认情况下,此命令呈现JSON对象中的所有结果。
docker compose中的两级networks作用
1. 说明
本博客目的:解释 docker compose 两个不同level 的 networks 作用,方便初学者。
注: 本文讨论的 Compose file format >= 3.0
2. 定义两级networks
version: "3.9"
services:
proxy:
build: ./proxy
networks: ## Service-level networks key
- frontend
app:
build: ./app
networks: ## Service-level networks key
- frontend
- backend
db:
image: postgres
networks:
- backend
networks: ## Top-level networks key
frontend:
driver: brige
backend:
# Use a custom driver which takes special options
driver: brige
3. Top-level networks key
3.1 作用
指定将要创建的 networks.
(The top-level networks key lets you specify networks to be created.)
可以指定的networks 信息: driver(比如 bridge, overlay), driver_opts 等
4. Service-level networks key
4.1 作用
指定要加入的 top-level networks key.
(Networks to join, referencing entries under the top-level networks key.)
O. 参考资料
<1> Networking in Compose
<2> top-level networks
<3> service-level networks key
关于docker network 参数和docker参数详解的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于002-docker-network 常用命令、Docker - 命令 - docker network、Docker CLI - docker network inspect、docker compose中的两级networks作用等相关知识的信息别忘了在本站进行查找喔。
本文标签: