zoukankan      html  css  js  c++  java
  • 为Docker容器配置固定IP

          当docker以桥接的方式启动容器时,容器内部的IP是经过DHCP获取的,例如:172.17.0.8/32,且每重启依次IP都会发生变动。某些特殊的情况下,需要容器内有自己固定的一个内部IP。我的实现方法如下:

    1、启动docker容器

    # docker run -tid -p 4097:8080 --restart=always --privileged=true  --log-driver=none --cap-add=NET_ADMIN 10.0.224.83:5000/centos /run.sh

    其中关键的选项是--privileged=true和--cap-add=NET_ADMIN。

    2、进入容器,在/run.sh中添加如下,为容器添加额外的固定IP

    /sbin/ip addr add 172.17.1.250 dev eth0

    3、重启容器,再次进入容器查看IP

    [root@07be2449da38 /]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    154: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
        link/ether 02:42:ac:11:00:39 brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.57/16 scope global eth0
           valid_lft forever preferred_lft forever
        inet 172.17.1.250/32 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::42:acff:fe11:39/64 scope link 
           valid_lft forever preferred_lft forever

    4、宿主机上ping该地址

    [root@localhost log]# ping 172.17.1.250
    PING 172.17.1.250 (172.17.1.250) 56(84) bytes of data.
    64 bytes from 172.17.1.250: icmp_seq=1 ttl=64 time=0.050 ms
    64 bytes from 172.17.1.250: icmp_seq=2 ttl=64 time=0.069 ms
  • 相关阅读:
    HPU第二次个人训练
    2019CCPC江西省赛
    CodeForces-913C 派对柠檬水
    [Codeforces Round #737 (Div. 2)] C Moamen and XOR (T1 D1
    E-Tree Xor_2021牛客暑期多校训练营4
    Educational Codeforces Round 107 (Rated for Div. 2) E Colorings and Dominoes
    状压dp 练习
    权值线段树模板(自用)
    Planar Reflections
    Codeforces Round #688 (Div. 2) D Checkpoints
  • 原文地址:https://www.cnblogs.com/zhenyuyaodidiao/p/5198124.html
Copyright © 2011-2022 走看看