我是 Docker 的新手,正在尝试制作一个演示 Rails 应用程序。我制作了一个如下所示的 dockerfile:
FROM ruby:2.2
# Install apt based dependencies required to run Rails as
# well as RubyGems. As the Ruby image itself is based on a
# Debian image, we use apt-get to install those.
RUN apt-get update && apt-get install -y \
build-essential \
nodejs
# Configure the main working directory. This is the base
# directory used in any further RUN, COPY, and ENTRYPOINT
# commands.
RUN mkdir -p /app
WORKDIR /app
# …Run Code Online (Sandbox Code Playgroud) 我正在使用 Docker 设计一个 Rails webapp,出于各种原因,我想在生产环境中使用 RDS 以实现其可配置性和持久性目的,而不是基于 Docker 容器的数据库(这是一项要求)。
我意识到我可以将database.yml配置为指向 Prod 环境的 RDS 实例,以及本地开发环境中的某个本地数据库实例。
但是,我很困惑是在本地开发环境中使用基于容器的数据库,还是像 MySQL 服务器这样的外部数据库。
基于 env-agnostic 容器的 Docker 模式,我认为仅在某些 envs 中拥有基于容器的数据库没有任何意义(事实上,我认为docker-compose.yml甚至不会支持这样的东西),所以我假设我需要为我的本地开发环境使用 MySQL 服务器解决方案。
有没有其他人经历过这样的要求?让我知道我是否以正确的方式思考这个问题。此外,这会对数据库迁移脚本造成任何潜在问题吗?
欢迎任何建议!
谢谢你。