zoukankan      html  css  js  c++  java
  • docker network

    官方文档: https://docs.docker.com/network/network-tutorial-standalone/

    一, 四种网络类型:

    1. Bridge
    2. Host
    3. Overlay
    4. Macvlan

    二, 分别介绍:

    Bridge:

      桥接, 网络相当于一个局域网, 在一台安装了docker的机器上, 可以有多个这种Bridge网络. 一个Bridge网络内部可以相互以container name ping通, 也可以用IP ping 通, 不同局域网只能用IP相互ping通. 另外, 默认在bridget网络无法用container name ping通, 我没找到官方的解释, 只看到官方文档描述这种现象的文字. 

      使用场景: alpine, 一个轻量级linux版本, 据说适合做docker基础镜像.

    docker network ls
    docker run -dit --name alpine1 alpine ash //-dit? detached, interactive, TTY(input & output)
    docker run -dit --name alpine2 alpine ash
    docker network inspect bridge

      在Containers节点下, 会列出使用了bridge的container, 它们的IP地址.

      docker attatch进去, 是无法用container name相互ping的, 用IP可以ping通

      然而, 新建一个bridge类型的网络:

    docker container stop alpine1 alpine2
    docker container rm alpine1 alpine2 //先删除刚刚创建的两个container
    docker network create --driver bridge alpine-net

      并且docker run的时候指定新建的网络, docker attach进去这两个container时就可以用container name相互ping通了:

    docker run -dit --name alpine1 --network alpine-net alpine ash
    docker run -dit --name alpine2 --network alpine-net alpine ash

    Host:

      直接使用docker所在机器的网络, 端口之类的, 据说是这种网络下, docker不会虚拟出网卡之类的硬件.

      使用场景: nginx

    Overlay:

      docker swarm专用的网络, 同一个swarm里一般是多台实体机器, 当然也可以是多台虚拟机. overlay就是一个多台机器的局域网, 比如一个web服务器, 要以replicas模式运行时, 会将container较均匀地分布在swarm的各机器上.

    Macvlan: 

      不了解.

    完.

  • 相关阅读:
    Jquery入门
    微服务
    数组
    流程控制
    GO的整型
    Go的巧记
    变量和常量
    Golang
    股票入市指南
    linux 命令行操作
  • 原文地址:https://www.cnblogs.com/lihan829/p/11223061.html
Copyright © 2011-2022 走看看