Ubuntu下使用Overlay网络进行容器管理的完整流程
Overlay网络依赖Docker的overlay驱动,需先确保系统安装Docker并满足内核要求(Ubuntu内核版本≥3.18)。安装Docker的命令如下:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
若需跨主机使用Overlay网络,还需安装Consul等key-value存储(用于保存网络状态),但单主机场景可跳过此步。
使用docker network create命令创建Overlay网络,指定--driver overlay参数。建议添加--subnet参数避免IP冲突(如10.0.9.0/24):
docker network create --driver overlay --subnet 10.0.9.0/24 my_overlay_network
创建后,可通过docker network ls查看网络列表,确认网络SCOPE为global(表示跨主机可用)。
启动容器时,通过--network参数将容器连接到Overlay网络。例如,运行一个Ubuntu容器并命名为my_container:
docker run -dit --name my_container --network my_overlay_network ubuntu
若需基于现有镜像(如nginx)运行容器,可将ubuntu替换为镜像名称(如nginx)。
进入一个容器,尝试ping另一个容器的IP或名称,验证网络连通性。例如:
docker exec -it my_container bash
ping <另一容器IP或名称>
若能收到响应,说明Overlay网络配置成功。
docker network inspect my_overlay_network查看网络的IP范围、连接的容器等信息。docker network rm my_overlay_network删除(需先断开所有连接的容器)。docker stop <容器ID或名称>(如docker stop my_container)。docker start <容器ID或名称>。docker rm <容器ID或名称>(需先停止容器)。docker stop $(docker ps -q)。docker rm $(docker ps -a -q)。Overlay2是Docker的存储驱动,用于保存容器文件系统层。定期清理未使用的镜像、容器可释放磁盘空间:
docker rmi $(docker images -q)(删除所有未被容器使用的镜像)。docker rm $(docker ps -a -q)(删除所有停止的容器)。sudo rm -rf /var/lib/docker/overlay2/*(强制清空overlay2目录,需谨慎操作)。通过以上步骤,可在Ubuntu上使用Overlay网络高效管理Docker容器,实现跨主机通信(若配置Consul)及文件系统隔离。