Socket error from within Rails app in Docker container connecting to remote MySQL DB -


i have rails app (running in production mode) in docker container linked container running mysql server instance. app running under nginx/passenger "app" user. i've configured production database under rails follows:

production:   adapter: mysql   database: <%= env['mysql_production_database'] %>   pool: 5   username: <%= env['mysql_user'] %>   password: <%= env['mysql_pass'] %>   host: <%= env['mysql_host'] %>   port: <%= env['mysql_port'] %> 

with the environment variables set when container ran. can execute database-related rake commands (migrate, reset, etc.) when attached container (running root). however, when try load app in browser following error:

can't connect local mysql server through socket '/var/run/mysqld/mysqld.sock' (2)  activerecord (4.2.0) lib/active_record/connection_adapters/mysql_adapter.rb:456:in `real_connect' activerecord (4.2.0) lib/active_record/connection_adapters/mysql_adapter.rb:456:in `connect' activerecord (4.2.0) lib/active_record/connection_adapters/mysql_adapter.rb:108:in `initialize' activerecord (4.2.0) lib/active_record/connection_adapters/mysql_adapter.rb:36:in `new' activerecord (4.2.0) lib/active_record/connection_adapters/mysql_adapter.rb:36:in `mysql_connection' 

does know cause mysql adapter incorrectly treat connection local in context, remote when running rake commands?

this caused environment variables set arguments @ run time not being set in rails process. web server (nginx) clears out environment variables before running, flushing ones set docker.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -