zoukankan      html  css  js  c++  java
  • Docker实现容器具有固定IP

    Docker的网络类型

    Docker安装后,默认会创建三种网络

    $ docker network ls
    NETWORK ID          NAME                DRIVER              SCOPE
    6bdc00ad2a8d        bridge              bridge              local
    e373574073e9        host                host                local
    d3d47c52f57b        none                null                local
    

    Docker启动的时候,可以使用--network参数指定使用的网络

    $ docker run -itd --name test1 --network bridge --ip 172.17.0.2 tomcat
    

    网络类型的介绍

    • bridge: 默认情况下启动的Docker容器,都是使用 bridge,Docker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启下,Docker的IP地址就变了
    • host:Docker 容器的网络会附属在主机上,两者是互通的。
    • none: docker 容器就不会分配局域网的IP

    创建自定义网络并设置固定IP

    在搭建一些集群软件的时候,组件和组件之间需要进行网络通信,这个时候如果每次重启IP都发生变化会很不方便,因此希望能够将容器的IP固定下来,这也是可以实现的,具体参考下面的方法。

    1.创建自定义网络

    $ docker network create --subnet=172.18.0.0/16 es-network
    1e3e1eb702176df3e44111970292deaf5def7564135439fae21be489d6a8dcef
    $ docker network ls
    NETWORK ID          NAME                DRIVER              SCOPE
    6bdc00ad2a8d        bridge              bridge              local
    1e3e1eb70217        es-network          bridge              local
    e373574073e9        host                host                local
    d3d47c52f57b        none                null                local
    

    2.创建Docker容器

    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 -v ~/Projects/elk/elk-cluster/data3/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/Projects/elk/elk-cluster/data3:/usr/share/elasticsearch/data --name ES03 --net=es-network --ip=172.18.0.12 --hostname=es-node3 docker.elastic.co/elasticsearch/elasticsearch:6.7.0
    

    使用docker inspect container-id可以看到当前容器分配的IP就是固定IP了。

  • 相关阅读:
    Python xlrd.biffh.XLRDError: Excel xlsx file; not supported
    Python 报/usr/bin/python^M: bad interpreter: No such file or directory
    Linux curl命令
    课程学习总结报告
    信息安全实验二
    结合中断上下文切换和进程上下文切换分析linux内核的一般执行过程
    深入理解Linux系统调用
    基于mykernel2.0编写一个操作系统内核
    如何评测软件工程知识技能水平
    创新产品的需求分析:未来图书会是什么样子?
  • 原文地址:https://www.cnblogs.com/cocowool/p/run_container_with_static_ip.html
Copyright © 2011-2022 走看看