Rails 5.1 konfiguracja Dockera – part 3

Zbudowanie środowiska

W raisach należy dodać konfiguracje dla bazy danych:

   # config/database.yml

   development:
     <<: *default
     username: postgres
     host: db # nazwa zgodna z nazwą opisującą obraz bazy z docker-compose.yml
     database: name_of_database

Aby uruchomić aplikacje należy zbudować środowisko a następnie wykonać w nim polecenia typowe dla railsów. Z poziomu katalogu głównego aplikacji odpalamy:

   docker-compose -f config/docker/docker-compose.yml up -d

Po kilkunastu minutach powinniśmy mieć zbudowane środowisko gotowe do pracy.
Jesli wykonamy polecenie ‘docker ps’ powinniśmy zobaczyć następujące obrazy:

  • docker_gems_1
  • docker_db_1
  • docker_server_1

Następnnie logujemy się do głównego containera docker_server_1 przy użyciu polecenia:

  docker exec -it docker_server_1 /bin/bash 

W ‘środku’ containera wykonujemy polecenia typowe dla Railsów

  bundle install #install gems
  rake db:create # create database
  rake db:migrate # create schema of database
  rake db:seed # populate data to database
  yarn install # install all npm packages

Odpalenie aplikacji

W Rails 5.1 aby uruchomić aplikacjie potrzebujemy odpalić dwa procesy:

  • Serwer railsowy
  • Serwer webpacka

Aby odpalić dwa procesy na raz, potrzebujemy zalogować się do naszego dockera z dwuch osobnych terminali (z nowej zakladki w terminalu).

  docker exec -it docker_server_1 /bin/bash 
  rails s
  docker exec -it docker_server_1 /bin/bash 
  ./bin/webpack-dev-server

W każdej zakładne terminala mamy teraz odpalony odpowiedni serwer który działa w środowisku dockera.
Aby zobaczyć aplikacjie w przeglądarce wisujemy localhost:3000.
To wszystko, w nastepnym poście opiszę w jaki sposób pracować z tak zdokeryzowaną aplikacją