小编How*_*hip的帖子

将初始数据加载到 Redis Docker 容器中

我正在尝试基于 redis:3 创建一个 Redis Docker 映像。但是,我需要将少量测试数据加载到图像中(它用于测试,无论是在开发者机器上还是在 CI 服务器上)。

我最初的尝试看起来像:

FROM redis:3.0.3
MAINTAINER Howard M. Lewis Ship

RUN redis-cli sadd production-stores 5555
Run Code Online (Sandbox Code Playgroud)

但这失败并出现错误:

Step 2 : RUN redis-cli sadd production-stores 5555
 ---> Running in 60fb98c133c0
Could not connect to Redis at 127.0.0.1:6379: Connection refused
The command '/bin/sh -c redis-cli sadd production-stores 5555' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一个技巧可以让我在 Docker 文件中连接到通过 Dockerfile 的 CMD/ENTRYPOINT 启动的服务器。正如我现在猜测的那样,RUN 发生在命令启动之前。

或者,是否有 Redis 命令或技巧可以让我将一些数据加载到其数据库中。

我怀疑一种方法是将 Redis 的数据目录挂载到暴露给 Docker 主机的卷中;这并不理想,因为

  1. 我需要一个额外的非 Dockerfile 命令来加载数据
  2. 加载的数据不会在图片中共享,供我团队中的其他人使用
  3. 我在 OS X 上并且正在使用 …

redis docker

6
推荐指数
1
解决办法
5568
查看次数

标签 统计

docker ×1

redis ×1