GVKun编程网logo

docker network 参数(docker参数详解)

5

对于想了解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参数详解)

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 常用命令

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 - 命令 - docker network

  1. 概述

    1. docker network 命令
  2. 背景

    1. newwork 是 docker 的一种资源
    2. 经常会使用
      1. 需要整理命令

1. 引入

  1. 概述

    1. docker run 时,将容器端口映射到宿主机
  2. 场景

    1. 启动 容器 时,经常会使用命令

      1. 将容器的某个端口暴露
      2. 并且映射到 host 的某个端口上
      3. 这样可以通过 host 的 ip 和 端口,直接访问
    2. 这个可能是我们对 docker 网络最初的认识

    3. 端口查看

      1. 记得用 命令 查看端口是否被占用,以免出现不必要的麻烦

      2. 命令

        > netstat -utnlp
        
  3. 命令

    # 注意 -p
    > docker container run --name some-nginx -p 10000:80 -v website:/usr/share/nginx/html -d nginx
    
  4. 结果

    1. 容器启动成功
    2. host 的 10000 端口,被映射到容器的 80 端口
      1. 可以用以下命令 来查看
        > docker ps 
        > docker container port <container> 
        

2. docker --link

  1. 概述

    1. 不对外暴露端口,也可以让容器连接
  2. 场景

    1. 容器不想在 host 上暴露端口
    2. 容器希望与其他容器连接
  3. 准备

    1. 已经起来了一个容器,比如之前的 some-nginx
  4. 命令

    # 在 ubuntu 里, 将 some-nginx 映射为了 nginx
    > docker container run --name ubuntu --link some-nginx:nginx -it ubuntu /bin/bash
    
  5. 结果

    1. 创建容器成功
    2. 尝试 ping nginx 或者 some-nginx 都能成功
      1. 如果没有 ping, ref 里有一个链接可以解决
  6. 其他

    1. 查看环境变量,会发现很多 nginx 相关的变量

      > env | grep -i ''nginx''
      
    2. 查看 hosts, 也会有

      > cat /etc/hosts
      
    3. 对于这个 --link 原理的猜测

      1. 向系统写入 环境变量
      2. 向系统写入 hosts 文件
    4. 其实,后面有个 url, 就是这么理解的

      1. 但是老实说,我没看明白,所以我暂时不敢下结论
  7. 问题

    1. 问题 1: 如果两个容器需要互相 link, 怎么办?

      1. 问题
        1. 先启动的那个,肯定没办法 link 后启动的
      2. 解决
        1. 生产中,让不需要找其他服务器的组件先启动
        2. 尝试在启动后,加入 link
          1. 貌似不可行
        3. 启动后直接修改 hosts 文件
          1. 通过某种方式推送,让所有机器认识自己人
            1. 那 link 的意义,其实不大
    2. 问题 2: 容器的 宕机 和 重启,是否会影响连接

      1. 这个还没试过
    3. 问题 3: 是否还有其他方式,管理 容器间 的网络交互

3. docker network 命令

  1. ls

    1. 概述

      1. 查看网络连接
    2. 命令

      > docker network ls
      
  2. inspect

    1. 概述

      1. 查看网络连接详情
    2. 命令

      > docker network inspect <network>
      
  3. connect

    1. 概述

      1. 容器连接网络
    2. 命令

      > docker network connect <network> <container>
      
  4. disconnect

    1. 概述

      1. 断开网络连接
    2. 命令

      # -f 表示强制
      # 成功后可以通过 inspect 查看
      > docker network disconnect [-f] <network> <container>
      
  5. create

    1. 概述

      1. 创建网络
    2. 命令

      # 不能重名
      > docker network create <network>
      
  6. rm

    1. 概述

      1. 删除网络连接
    2. 命令

      > docker network rm <network>
      
  7. prune

    1. 概述

      1. 删除没有使用的网络连接
        1. 删除前会有确认
    2. 命令

      > docker network prune
      

ps

  1. ref

    1. Docker 容器与容器云
    2. Docker 经典实例
    3. Docker 实战
    4. docker network
    5. 关于对 docker run --link 的理解
    6. Docker 的 ubuntu 镜像安装的容器无 ifconfig 和 ping 命令的解决
  2. 虚拟化

    1. 服务器虚拟化
    2. 存储虚拟化
    3. 网络虚拟化
  3. 网络虚拟化

    1. 有想法的话,可以去学学 ovs/ovn
  4. linux 相关的防火墙

    1. linux 的防护机制
      1. iptables
      2. firewalld
      3. selinux
      4. cgroup
    2. 这些东西,貌似并不好弄
  5. 后续

    1. docker network 真正的原理

      1. docker 容器与容器云这本书里有写
        1. 网络
          1. 各种 network
        2. 容器
          1. sandbox
          2. endpoint
    2. linux 网桥

      1. bridge 类型的网络,都是 linux 网桥
        1. 有空可以找找资料
        2. Linux 虚拟网络设备详解之 Bridge 网桥
      2. 网桥的本质,是 虚拟交换机
        1. 这玩意是个大课题,一句两句搞不定了

Docker CLI - docker network inspect

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作用

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作用等相关知识的信息别忘了在本站进行查找喔。

本文标签: