Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将Rails 6应用程序与AWS RDS数据库和一个本地应用程序对接_Ruby On Rails_Amazon Web Services_Docker_Docker Compose_Amazon Rds - Fatal编程技术网

Ruby on rails 将Rails 6应用程序与AWS RDS数据库和一个本地应用程序对接

Ruby on rails 将Rails 6应用程序与AWS RDS数据库和一个本地应用程序对接,ruby-on-rails,amazon-web-services,docker,docker-compose,amazon-rds,Ruby On Rails,Amazon Web Services,Docker,Docker Compose,Amazon Rds,我刚刚了解了Docker,特别是如何将现有的Rails 6应用程序Docker化,以部署为AWS Elastic Beanstalk。我已经学习了一些教程,但仍然有点困惑,如果我使用的是两个数据库,我的Dockerfile和docker compose.yml文件应该是什么样子的:一个已经创建了AWS RDS mysql数据库和一个本地Postgresql数据库。本地数据库没有安全凭据(我想在部署到EC2时可能需要创建一个新的凭据),但我的AWS RDS数据库有。这些安全凭据存储在Rails凭据

我刚刚了解了Docker,特别是如何将现有的Rails 6应用程序Docker化,以部署为AWS Elastic Beanstalk。我已经学习了一些教程,但仍然有点困惑,如果我使用的是两个数据库,我的
Dockerfile
docker compose.yml
文件应该是什么样子的:一个已经创建了AWS RDS mysql数据库和一个本地Postgresql数据库。本地数据库没有安全凭据(我想在部署到EC2时可能需要创建一个新的凭据),但我的AWS RDS数据库有。这些安全凭据存储在
Rails凭据中。下面是我的
数据库.yml
现在的样子:

default: &default
  adapter: mysql2
  encoding: utf8
  database: requests
  username: <%= Rails.application.credentials[:aws_username] %>
  password: <%= Rails.application.credentials[:aws_password] %>
  host: <%= Rails.application.credentials[:aws_host] %>
  cast: false 
  port: 3306


development:
  aws:
    <<: *default
  local:
    adapter: postgresql
    encoding: unicode
    database: tml_local 
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>


production:
  aws:
  <<: *default
  local:
    adapter: postgresql
    encoding: unicode
    database: tml_local 
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>



test: 
  aws:
  <<: *default
  local:
    adapter: postgresql
    encoding: unicode
    database: tml_local 
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

因此,基于以下最简单的
docker compose.yml
文件,Rails 6应用程序中需要实现什么来承载2db。顺便说一句,我的应用程序使用Webpacker进行CSS

version: "3.7"
services:
  webapp:
    build: ./dir
version: "3.7"
services:
  webapp:
    build: ./dir