大家好!今天给大家分享一套完整的 Redis 容器化实战,从自定义镜像构建、打包分发,到用 Docker Compose 部署和功能验证,每一步都配上真实操作截图,新手也能跟着跑通全流程~


一、Server 节点:构建带名字缩写的 Redis 镜像

第一步我们先在server节点,用Dockerfile构建一个带自己名字缩写(这里是mdm)的 Redis 镜像。

1. 编写 Dockerfile 并构建

首先创建工作目录,编写基础的Dockerfile,内容如下:

dockerfile

FROM redis:latest
LABEL maintainer="mdm"

然后执行构建命令,给镜像打上带名字缩写的标签:

执行成功后,终端会输出构建成功的提示:

可以看到,镜像 ID 和标签都成功生成,说明我们的自定义 Redis 镜像构建完成啦!


二、Server 节点:将镜像打包为 tar 文件

构建好的镜像可以打包成tar文件,方便传输到其他节点使用。

1. 执行打包命令

docker save -o mdm-redis.tar mdm-redis:v1.1

2. 查看生成的 tar 文件

执行ll命令查看当前目录,确认文件生成:

可以看到目录中出现了mdm-redis.tar文件,大小约 2.5G,说明镜像打包成功,后续就可以把这个文件传到client节点了。


三、Client 节点:本地安装 Docker Compose

接下来切换到client节点,手动安装docker-compose二进制文件。

1. 配置权限并验证

首先把docker-compose文件放到/usr/bin/目录下,然后添加可执行权限:

chmod +x /usr/bin/docker-compose

执行ll /usr/bin/docker-compose验证安装结果:

可以看到文件权限已经配置为可执行,说明docker-compose安装完成,后续就可以用它来编排容器了。


四、Client 节点:用 docker-compose 部署 Redis 容器

我们在client节点编写docker-compose.yaml文件,拉取并运行我们的自定义 Redis 镜像。

1. 编写 docker-compose.yaml

文件内容如下(使用本地仓库的自定义镜像):

yaml

version: '3'
services:
  redis:
    image: server:5000/mdm-redis:v1.1
    container_name: mdm-redis
    ports:
      - "6379:6379"
    restart: always

2. 启动容器

执行后台启动命令:

终端会输出拉取镜像并启动容器的过程:

可以看到镜像拉取完成,容器创建成功,状态显示done

3. 验证容器进程

执行docker ps命令查看容器是否正常运行:

容器状态为Up,端口映射正常,说明 Redis 容器已经成功启动并对外提供服务。


五、Client 节点:进入 Redis 容器验证功能

最后一步,我们进入 Redis 容器,执行set/get命令验证服务是否正常工作。

1. 进入容器并执行命令

# 进入Redis容器并连接redis-cli
docker exec -it mdm-redis redis-cli

进入交互界面后,执行以下命令,用自己的名字缩写作为值:

操作过程如下:

执行set name mdm返回OK,说明写入成功;执行get name返回"mdm",说明 Redis 读写功能完全正常!


实战总结 & 避坑指南

  1. 镜像构建:如果基础镜像拉取失败,可以配置 Docker 国内镜像源,解决网络问题。
  2. tar 包传输:传输大文件时,建议用scprsync命令,避免文件损坏,传输后可以用md5sum校验完整性。
  3. Docker Compose 权限:必须给二进制文件添加chmod +x权限,否则会报 “权限不足” 错误。
  4. 端口冲突:如果宿主机的 6379 端口被占用,可以修改docker-compose.yaml中的端口映射,比如"6380:6379"
  5. 容器访问:如果client节点无法访问server的本地仓库,需要检查防火墙和网络连通性,确保 5000 端口开放。

这套流程完整覆盖了 Docker 镜像构建、分发、编排部署和服务验证的核心操作,是容器化开发的必备技能。跟着做一遍,就能对 Docker 的工作流有非常清晰的理解啦!

更多推荐