Once deployed consul by means of docker containers over a docker engine running on Linux, as described in this topic, I have to setup the same environment over a docker engine running on MS Windows, where I can’t follow the same procedure as it fails.
So I have tried to export the imags to import then in the MS windows docker environment.
On the Linux host I’ve done the following:
docker export consul_app_1 | zip > consul_app_1.zip
docker export consul_database_1 | zip > consul_database_1.zip
I have moved then the two zip files to the MS Windows PC and used the PowerShell as follows:
Expand-Archive -Path ./consul_database_1.zip | docker import - consul_database_1
Expand-Archive -Path ./consul_app_1.zip | docker import - consul_app_1
Once imported the two images, I’ve made two running containers out of them, with the following commands:
docker run -dit --name database -h database -p 5432:5432 consul_database_1_image
docker run -dit --name consul -p 3000:3000 consul_app_1_image
I’ve also setup a DNS server as explained in this post to allow the resolution of the database, bu the consul_app image fails with the following logs:
PS i> docker logs consul
=> Booting WEBrick
=> Rails 4.2.10 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
The PGconn, PGresult, and PGError constants are deprecated, and will be
removed as of version 1.0.
You should use PG::Connection, PG::Result, and PG::Error instead, respectively.
Called from /usr/local/bundle/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:240:in `load_dependency'
Exiting
/usr/local/bundle/gems/activerecord-4.2.10/lib/active_record/connection_adapters/postgresql_adapter.rb:661:in `rescue in connect': FATAL: database "consul_development" does not exist (ActiveRecord::NoDatabaseError)
from /usr/local/bundle/gems/activerecord-4.2.10/lib/active_record/connection_adapters/postgresql_adapter.rb:650:in `connect'