如何将 Redis 运行到多阶段 Docker 映像构建中?

Posted

技术标签:

【中文标题】如何将 Redis 运行到多阶段 Docker 映像构建中?【英文标题】:How to run Redis into multi-stage Docker image build? 【发布时间】:2020-02-23 07:01:23 【问题描述】:

我正在做一个小的概念证明,并希望将 Spring Boot 应用程序与 Redis 运行到同一个容器中。

我找到了multi-stage build docs 和official Redis image。

我应该如何将它们连接在一起?即使这个概念似乎已经有几年了,我仍然找不到相关的例子。

我的Dockerfile

FROM redis:5.0.6-alpine

// How can I run Redis server in here?

FROM openjdk:8-jdk-alpine
VOLUME /tmp
EXPOSE 9001
ARG DEPENDENCY=target/dependency
COPY $DEPENDENCY/BOOT-INF/lib /app/lib
COPY $DEPENDENCY/META-INF /app/META-INF
COPY $DEPENDENCY/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*","name.poc.Application"]

【问题讨论】:

我也想知道这个,嗯科学。 【参考方案1】:

您可以关注docs

但是,文档明确指出:

通常建议您将关注的领域划分为 每个容器使用一项服务。

所以在你的情况下最好有 2 个 docker 容器或 docker swarm 服务:

redis 和 java 应用程序。

【讨论】:

以上是关于如何将 Redis 运行到多阶段 Docker 映像构建中?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以缓存多阶段 docker 构建?

由于设备映射器错误,无法运行 Docker 容器

如何在docker中安装redis

如何让 Java 测试容器在 Docker 多阶段构建中工作?

如何禁用 docker Thinpooldev 上的写屏障?

有没有办法在Scalding中指定映射器的数量?