博客
关于我
docker自定义网络模式,实现容器固定ip地址
阅读量:614 次
发布时间:2019-03-12

本文共 958 字,大约阅读时间需要 3 分钟。

当我们在使用 Docker 容器时,容器启动后分配的虚拟IP经常更改,这给运维团队带来了不少麻烦。

Docker 网络模式

Docker 默认使用 bridge 桥接网络模式。这种模式下,容器的网络接口会向容器内部服务暴露不同的 IP 地址。

工作原理

运行 docker network ls 查看现有的网络:

[root@localhost]# docker network lsNAME              DRIVER   SCOPE   VERSION   CODE   CREATE TIME   UPDATED TIME   STATE   DESCRIPTIONbridge          桥接    或者    或者    v0.24.0    docker    整个主机    2020-02-08T15:23:33    2020-02-08T15:23:33     健康    桥接网络

创建自定义网络

可以创建一个固定的网络:

docker network create --subnet=172.20.0.0/16 extnetwork

给容器指定 IP

创建容器时指定固定的 IP:

docker run -p 8066:8066 -it -v /home/docker/mycat/conf/:/home/mycat/conf/ -v /home/docker/mycat/logs/:/home/mycat/logs/ --net extnetwork --ip 172.20.0.2 镜像id

注意:IP 分配应从 172.20.0.2 开始,因为 172.20.0.1 是网关。

查看容器信息

使用 docker inspect 查看容器 IP:

[root@localhost]# docker inspect 你的容器id"NetworkSettings": {    "Interface": "something",    "IP": "172.20.0.2",    ...}

兼容性问题

确保 your application 可以处理固定 IP。

网络删除

如果不再使用这个网络,可以删除它:

docker network rm extnetwork

转载地址:http://cxjxz.baihongyu.com/

你可能感兴趣的文章
PHP empty、isset、isnull的区别
查看>>
ReferenceQueue的使用
查看>>
PHP FastCGI进程管理器PHP-FPM的架构
查看>>
php flush()刷新不能输出缓冲的原因分析
查看>>
Referenced classpath provider does not exist: org.maven.ide.eclipse.launchconfig
查看>>
Refactoring-Imporving the Design of Exsiting Code — 代码的坏味道
查看>>
PHP imap 远程命令执行漏洞复现(CVE-2018-19518)
查看>>
php include和require
查看>>
ref 和out 区别
查看>>
php JS 导出表格特殊处理
查看>>
php json dom解析
查看>>
ReentrantReadWriteLock读写锁解析
查看>>
php laravel实现依赖注入原理(反射机制)
查看>>
php laravel请求处理管道(装饰者模式)
查看>>
ReentrantReadWriteLock读写锁底层实现、StampLock详解
查看>>
PHP mongoDB 操作
查看>>
ReentrantLock读写锁
查看>>
ReentrantLock的公平锁与非公平锁
查看>>
php mysql procedure获取多个结果集
查看>>
php mysql query 行数,PHP和MySQL:返回的行数
查看>>