Не удается выполнить команды миграции rails

#amazon-web-services #amazon-ec2 #amazon-rds #amazon-ecs #ruby-on-rails-6

Вопрос:

Я пытаюсь выполнить команду rails db:migrate на своих экземплярах ec2. Связь между экземпляром ec2 и MYSQL RDS работает нормально. Но когда я запускаю миграцию

bundle exec rails db:migrate RAILS_ENV='staging'

это дает мне такие ошибки, как

 Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
/usr/local/rvm/gems/ruby-2.7.1/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `connect'
/usr/local/rvm/gems/ruby-2.7.1/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `initialize'
/usr/local/rvm/gems/ruby-2.7.1/gems/activerecord-6.0.3.2/lib/active_record/connection_adapters/mysql2_adapter.rb:24:in `new'
/usr/local/rvm/gems/ruby-2.7.1/gems/activerecord-6.0.3.2/lib/active_record/connection_adapters/mysql2_adapter.rb:24:in `mysql2_connection'
/usr/local/rvm/gems/ruby-2.7.1/gems/activerecord-6.0.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:887:in `new_connection'
/usr/local/rvm/gems/ruby-2.7.1/gems/activerecord-6.0.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:931:in `checkout_new_connection'
/usr/local/rvm/gems/ruby-2.7.1/gems/activerecord-6.0.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:910:in `try_to_checkout_new_connection'
/usr/local/rvm/gems/ruby-2.7.1/gems/activerecord-6.0.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:871:in `acquire_connectio
 

Я использую докер

 FROM  phusion/passenger-ruby27:1.0.11
ENV RAILS_ENV staging


CMD ["/sbin/my_init"]

# Using Nginx and Passenger
RUN rm -f /etc/service/nginx/down
RUN rm /etc/nginx/sites-enabled/default
ADD docker/stg/nginx/nginx.conf /etc/nginx/sites-enabled/webapp.conf

RUN bash -lc 'rvm --default use ruby-2.7.1'
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

RUN apt-get update -yqq amp;amp; apt-get install -yqq  nodejs
    build-essential yarn locales locales-all 
    mysql-client libmysqlclient-dev 
 amp;amp; apt-get clean openssh-server 
 amp;amp; rm -rf /var/lib/apt/lists/*

RUN apt-get update amp;amp; apt-get install -y 
  tzdata
ENV TZ=Asia/Tokyo

## shared mime info for mimemagic
RUN curl -sL -o shared-mime-info_1.9-2_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/s/shared-mime-info/shared-mime-info_1.9-2_amd64.deb

# RUN dpkg -P --force-all shared-mime-info
RUN dpkg --install shared-mime-info_1.9-2_amd64.deb

RUN gem install bundler -v 2.1.4

WORKDIR /wishealth-stg
RUN chmod u x /wishealth-stg

COPY Gemfile Gemfile.lock ./

RUN bundle config build.nokogiri --use-system-libraries
RUN gem install bundler
ENV BUNDLE_PATH /gems
RUN bundle install

COPY package.json yarn.lock ./

RUN yarn install --check-files

COPY . ./

#RUN bundle exec rails db:migrate RAILS_ENV=staging
RUN RAILS_ENV=staging bundle exec rake assets:precompile
RUN RAILS_ENV=staging bundle exec rake assets:clean

# Docker is handle Log and send it to cloudwatch - START
ENV RAILS_LOG_TO_STDOUT enabled
ENV RAILS_SERVE_STATIC_FILES enabled
# Docker is handle Log and send it to cloudwatch - END

RUN chmod -R go w ./tmp
# Clean up APT when done.
RUN apt-get clean amp;amp; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

EXPOSE 80
 

И моя база данных.yml будет

 default: amp;default
  adapter: mysql2
  encoding: utf8mb4
  charset: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: "root"
  password: ""
  host: localhost
  #socket: '/tmp/mysql.sock
development:
  <<: *default
  database: app_development
staging:
  adapter: mysql2
  encoding: utf8mb4
  charset: utf8mb4
  host: {RDS_HOST}
  database: {RDS_DATABASE_NAME}
  username: {RDS_USER_NAME}
  password: {RDS_PASSWORD}
test:
  <<: *default
  database: app_test
production:
  <<: *default
  database: <%= ENV.fetch('DB_DATABASE', '') %>
  username: <%= ENV.fetch("DB_USER", "root") %>
  password: <%= ENV.fetch("DB_PASSWORD", "") %>
  host: <%= ENV.fetch('DB_HOSTNAME', '') %>
  port: <%= ENV.fetch('DB_PORT', 3306) %>