季春二九 - docker
type: channel
link: https://blog.jichun29.cn/tag/docker/
items: 为Docker容器中的服务配置固定容器IP教程

为Docker容器中的服务配置固定容器IP教程
type: item
date: 2023-04-03T17:51:00+08:00
description: 如果不固定ip，每次主机重启后，，docker会动态给容器分配ip，导致redis容器的IP自动换了 ，然后还得去改傻妞配置就很烦，有些时候还会造成其他影响。1）创建自定义docker内部网络docker network 官方文档 （看不懂可用浏览器翻译）：https://docs.docker.com/engine/reference/commandline/network_create/创建一个内网redisnet1docker network create --subnet 172.172.0.0/16 redisnet1 查看docker network ls打印docker network inspect redisnet1删除docker network rm redisnet1–subnet：指定网段的 CIDR 格式的子网其中172.172.0.0/16表示子网范围为16位查看更多关于network的操作docker network --help2）运行容器安装软件，配置网络信息docker run 参考官方文档：https://docs.docker.com/engine/reference/commandline/run/docker run -d --name myredis1 --network redisnet1 --network-alias myredis1 --ip 172.172.0.2 -p 6379:6379 redis说明：加入docker内部网络： --network redisnet1配置容器在内部局域网的网络别名：--network-alias redisnet1配置在内部局域网的ip地址：--ip 172.172.0.2，注意点：设置的ip必须在内部网络的网络范围中，不然会报错，不能正常启动根据规定：忽略子网内全为0和全为1的地址，剩下的就是有效地址第二位172.172.0.1也会被占用，是该子网的网关，不能使用3）验证重启容器后，IP不会动态分配而导致变化查看容器ip可用 docker inspect 查看打印信息的"IPAddress": "172.172.0.2"字段docker inspect 容器名docker inspect myredis1