Docker--network命令的用法

原文网址:Docker--network命令的用法_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍Docker的network网络命令的用法。

官网网址

docker network | Docker Documentation

命令概述

所有命令

|---------------------------|----------------|
| 命令名称 | 说明 |
| docker network connect | 将容器连接到网络 |
| docker network create | 创建一个网络 |
| docker network disconnect | 断开容器的网络 |
| docker network inspect | 显示一个或多个网络的详细信息 |
| docker network ls | 列出网络 |
| docker network prune | 删除所有未使用的网络 |
| docker network rm | 删除一个或多个网络 |

查看命令的方法

所有命令都可以用--help查看用法,例如:

复制代码
knife@ubuntu:~$ docker network create --help

Usage:  docker network create [OPTIONS] NETWORK

Create a network

Options:
      --attachable           Enable manual container attachment
      --aux-address map      Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[])
      --config-from string   The network from which to copy the configuration
      --config-only          Create a configuration only network
  -d, --driver string        Driver to manage the Network (default "bridge")
      --gateway strings      IPv4 or IPv6 Gateway for the master subnet
      --ingress              Create swarm routing-mesh network
      --internal             Restrict external access to the network
      --ip-range strings     Allocate container ip from a sub-range
      --ipam-driver string   IP Address Management Driver (default "default")
      --ipam-opt map         Set IPAM driver specific options (default map[])
      --ipv6                 Enable IPv6 networking
      --label list           Set metadata on a network
  -o, --opt map              Set driver specific options (default map[])
      --scope string         Control the network's scope
      --subnet strings       Subnet in CIDR format that represents a network segment

create

概述

create 命令用于创建一个新的容器网络。Docker 内置了 bridge(默认使用)和 overlay 两种驱动,分别支持主机和多主机场景。Docker 服务在启动后,会默认创建一个 bridge 类型的网桥 bridge。不同网络之间默认相互隔离。

命令

复制代码
docker network create network_name

支持参数

  • -attachable=false:支持手动容器挂载
  • -aux-address=map\[\]:辅助的 IP 地址
  • -config-from="":从某个网络复制配置数据
  • -config-only=false:启用仅可配置模式
  • -d,-driver="bridge":网络驱动类型,如 bridge 或 overlay
  • -gateway=\[\]:网关地址
  • -ingress=false:创建一个 Swarm 可路由的网状网络用于负载均衡,可将对某个服务的请求自动转发给一个合适的副本
  • -internal=false:内部模式,禁止外部对所创建网络的访问;
  • -ip-range=\[\]:指定分配 IP 地址范围
  • -ipam-driver="default":IP地址管理的插件类型
  • -ipam-opt=map\[\]:IP地址管理插件的选项
  • -ipv6=false:支持IPv6地址
  • -label value:为网络添加元标签信息
  • -o,-opt=map\[\]:网络驱动所支持的选项
  • -scope="":指定网络范围
  • -subnet=\[\]:网络地址段,CIDR 格式,如 172.17.0.0、16

connect

概述

connect 命令将一个容器连接到一个已存在的网络上。连接到网络上的容器可以跟同一网络中其他容器互通,同一个容器可以同时接入多个网络。也可以在执行 docker run 命令时候通过 -net 参数指定容器启动后自动接入的网络。

命令

复制代码
docker network connect network_name mysql

支持参数

  • -alias=\[\]:为容器添加一个别名,此别名仅在所添加网络上可见
  • -ip="":指定IP地址,需要注意不能跟已接入的容器地址冲突
  • -ip6="":指定 IPv6 地址
  • -link value:添加连接到另外一个容器
  • -link-local-ip=\[\]:为容器添加一个链接地址

disconnect

命令

复制代码
docker network disconnect network_name mysql

支持参数

  • -f 强制把容器从网络上移除

inspect

概述

命令

复制代码
docker network inspect network_name

支持参数

  • -f,-format="":给定一个 Golang 模板字符串,对输出结果进行格式化,如只查看地址配置可以用 -f '{{.IPAM.Config}}'

示例

查看容器IP

复制代码
docker inspect -f '{{.NetworkSettings.IPAddress}}' container_name

输出是空的说明没有配置IP地址。

查看地址配置

复制代码
​docker network inspect network_name -f '{{.IPAM.Config}}'

获取所有容器名称及其IP地址

复制代码
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

使用docker-compose命令将是:

复制代码
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

ls

复制代码
docker network ls

prune

复制代码
docker network prune

rm

复制代码
docker network rm network_name

注意

在删除之前,要先通过docker disconnect命令断开此网络与其他容器的连接。

相关推荐
2035去旅行20 分钟前
ADB的底层原理
linux·adb·嵌入式·arm·soc
武子康25 分钟前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?
linux·人工智能·深度学习
女神下凡32 分钟前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽38 分钟前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
SQL772 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS3 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet3 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
对象存储与RustFS5 小时前
Jenkins 的构建产物别堆在控制器磁盘:用 RustFS 当它的 S3 工件仓库
后端·docker·云原生
爱和冰阔落5 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall7 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr