Docker容器分配固定IP

最近在给数据库存量用户数据做数据清洗加上京东自动签到脚本导致服务器CPU飙高至100%,在等待了30分钟后SSH依然无法登陆服务器无奈只好硬重启,随之而来的问题是Nginx中反向代理的几个Docker容器均无法正常访问,主要的原因是Docker容器在重启以后是自动分配IP与Nginx中反向代理配置的IP不一致所以导致无法访问,找到了问题的原因那就试着解决它给Docker容器分配固定IP。

创建网络

docker network create --subnet=192.168.0.0/16 staticnet

使用docker network ls命令可以查看Docker中已存在的网络清单,通过以上命令你将会看到staticnet网络。

创建Dokcer容器并指定IP

docker run -it --name userserver --net staticnet --ip 192.168.0.2 ubuntu /bin/bash

使用docker inspect {容器名称或容器ID}可查看容器IP。

通过以上几个步骤可以给Docker容器分配固定IP,容器重启IP也不会改变。