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ą