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
  • 相关阅读:
    Vue-cli的安装和使用
    Codeforces Round #182 (Div. 1) B. Yaroslav and Time 最短路
    HDU 4745 Two Rabbits 区间dp_回文序列
    Codeforces Round #284 (Div. 1) C. Array and Operations 二分图最大匹配
    HDU 4734 F(x) 数位dp
    HDU 4389 X mod f(x) 数位dp
    HDU 5900 QSC and Master 区间dp
    Codeforces Round #235 (Div. 2) D. Roman and Numbers 状压dp+数位dp
    HDU 3709 Balanced Number 数位dp
    Codeforces Round #304 (Div. 2) E. Soldier and Traveling 最大流
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/15317067.html
Copyright © 2011-2022 走看看