温馨提示×

ubuntu overlay如何进行容器管理

小樊
45
2025-10-26 14:09:01
栏目: 智能运维

Ubuntu下使用Overlay网络进行容器管理的完整流程

1. 前置准备:安装Docker并配置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存储(用于保存网络状态),但单主机场景可跳过此步。

2. 创建Overlay网络

使用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查看网络列表,确认网络SCOPEglobal(表示跨主机可用)。

3. 运行容器并连接到Overlay网络

启动容器时,通过--network参数将容器连接到Overlay网络。例如,运行一个Ubuntu容器并命名为my_container

docker run -dit --name my_container --network my_overlay_network ubuntu

若需基于现有镜像(如nginx)运行容器,可将ubuntu替换为镜像名称(如nginx)。

4. 验证容器间通信

进入一个容器,尝试ping另一个容器的IP或名称,验证网络连通性。例如:

docker exec -it my_container bash
ping <另一容器IP或名称>

若能收到响应,说明Overlay网络配置成功。

5. 管理Overlay网络

  • 查看网络详情:使用docker network inspect my_overlay_network查看网络的IP范围、连接的容器等信息。
  • 删除网络:若不再需要网络,使用docker network rm my_overlay_network删除(需先断开所有连接的容器)。

6. 容器生命周期管理

  • 停止容器docker stop <容器ID或名称>(如docker stop my_container)。
  • 启动容器docker start <容器ID或名称>
  • 删除容器docker rm <容器ID或名称>(需先停止容器)。
  • 批量操作
    • 停止所有运行中的容器:docker stop $(docker ps -q)
    • 删除所有未使用的容器:docker rm $(docker ps -a -q)

7. 清理Overlay2存储(可选)

Overlay2是Docker的存储驱动,用于保存容器文件系统层。定期清理未使用的镜像、容器可释放磁盘空间:

  • 清理未使用的镜像docker rmi $(docker images -q)(删除所有未被容器使用的镜像)。
  • 清理未使用的容器docker rm $(docker ps -a -q)(删除所有停止的容器)。
  • 清理overlay2目录:停止并删除所有容器和镜像后,执行sudo rm -rf /var/lib/docker/overlay2/*(强制清空overlay2目录,需谨慎操作)。

通过以上步骤,可在Ubuntu上使用Overlay网络高效管理Docker容器,实现跨主机通信(若配置Consul)及文件系统隔离。

0