zoukankan      html  css  js  c++  java
  • Docker网络配置

    docker配置ipv4转发

    vi /etc/sysctl.conf,添加如下内容:
    net.ipv4.ip_forward = 1
    systemctl restart network
    查看修改结果:
    ysctl net.ipv4.ip_forward

    docker创建自定义桥接网络,并指定网段:
    docker network create --driver=bridge --subnet=172.18.0.0/24 bridge_internet

    MACVLAN连接到实际网段:
    docker创建macvlan网络,直接与外部网络通信,与宿主同一网段

    docker network create -d macvlan --subnet=192.168.120.0/24 --gateway=192.168.120.1 -o parent=eth0 pub_net

    docker创建macvlan网络,直接与外部网络通信,使用外部任意vlan

    docker network create --driver macvlan --subnet=10.10.0.0/24 --gateway=10.10.0.253 -o parent=eth0.10 macvlan10   #指定vlan id 10

    启动容器,并分配IP 192.168.120.29

    docker run --net=pub_net --ip=192.168.120.29 -it alpine /bin/sh

    macvlan网络在创建时要指定parent.其中parent仅能使用一次,即eth0在创建一个macvlan网络时使用了,则在创建另一个的时候就无法再使用了.

    在创建macvlan的时候,如果不指定网段,默认网段为172.18.0.0/16, 此时加入此网络的容器,在同一台主机上时可以互相ping通,无法ping通外部网络,同时加入此网络的容器,创建时不能手工指定ip,仅能使用ipam自动分配.

    在使用和主机相同网段的macvlan时,如果在创建容器时不指定ip,则默认ipam从192.168.15.2开始分配,不检查网段内是否已有相同ip,这种情况下会造成容器ip和网络内其他设备ip冲突

    参考:

    https://www.cnblogs.com/atuotuo/p/7381103.html

    https://www.cnblogs.com/lkj371/p/12718140.html

    查看docker网络:

    docker network ls/rm
    docker network inspect bridge_internet

    查看宿主机网络:ip a

    -p将端口映射到宿主,-P会将端口随机映射到宿主

    docker run -d -p 5000:5000 training/webapp python app.py

    查看容器的端口映射情况:

    docker port container_id
    docker port container_id port
  • 相关阅读:
    Python将字符串转换成字典
    MySQL索引、视图
    MySQL高级查询
    MySQL函数应用
    MySQL约束
    MySQL基础查询
    MySQL数据库基本语法
    MySQL数据库存储引擎
    MySQL数据库简介与命令行操作
    MySQL 安装和配置环境变量
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/15317067.html
Copyright © 2011-2022 走看看