Construction de Rails 6 et environnement PostgreSQL avec Docker

Créer un environnement avec Rails6 + PostgreSQL avec Docker

En guise de mémorandum, je laisserai un article sur la façon de créer un environnement avec Rails 6 + PostgreSQL avec Docker. Cette fois, nous allons créer le nom de l'application en tant que shopping_app.

Chaque version de l'environnement à créer

Structure du répertoire

 .
 ├── Dockerfile
 ├── docker-compose.yml
 └── shopping_app
     ├── Gemfile
     └── Gemfile.lock

Créer un Dockerfile

Tout d'abord, créez un Dockerfile.

FROM ruby:2.7.2
ENV LANG C.UTF-8


RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

RUN apt-get update -qq && \
    apt-get install -y build-essential \
            libpq-dev \
            nodejs \
            postgresql-client yarn

RUN mkdir /app
RUN mkdir /app/shopping_app

ENV APP_ROOT /app/shopping_app
WORKDIR $APP_ROOT

ADD ./shopping_app/Gemfile $APP_ROOT/Gemfile
ADD ./shopping_app/Gemfile.lock $APP_ROOT/Gemfile.lock

RUN bundle install

ADD . $APP_ROOT

Création de docker-compose.yml

Créez docker-compose.yml. Cette fois, le port est défini sur 1501.

version: '3'
services:
  postgres:
    image: postgres
    ports:
      - "3306:3306"
    volumes:
      - ./tmp/db:/var/lib/postgresql/data #Pour MacOS
    environment:
      POSTGRES_USER: 'admin'
      POSTGRES_PASSWORD: 'admin-pass'
    restart: always
  app:
    build: .
    image: rails
    container_name: 'app'
    command: bundle exec rails s -p 1501 -b '0.0.0.0'
    ports:
      - "1501:1501"
    environment:
      VIRTUAL_PORT: 80
    volumes:
      - ./shopping_app:/app/shopping_app
    depends_on:
      - postgres
    restart: always

volumes:
  app_postgre:
    external: true

Créer un Gemfile

source 'https://rubygems.org'
gem 'rails', '6.0.3'

Vous pouvez laisser Gemfile.lock vide.

Construire un conteneur pour créer une application

$ docker-compose run app rails new . --force --database=postgresql --skip-bundle

installation de Webpacker

docker-compose run app rails webpacker:install

Création et configuration de la base de données

Définissez le database.yml de l'application créée.

default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # https://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  #Décrivez ce qui suit
  user: admin
  password: admin-pass
  host: postgres

construire une image

docker-compose build

Créer une base de données

docker-compose run app rails db:create

Ceci termine la construction. Démarrez l'application avec la commande suivante

docker-compose up

http://localhost:1501/ Si vous y accédez, il sera affiché sur l'écran suivant.

スクリーンショット 2020-10-18 20.16.20.png

c'est tout.

Recommended Posts

Construction de Rails 6 et environnement PostgreSQL avec Docker
Créez un environnement pour Rails5 et postgresql avec Docker afin que pgadmin puisse également être utilisé
[Docker] Construction de l'environnement Rails 5.2 avec docker
[Construction de l'environnement avec Docker] Rails 6 et MySQL 8
J'ai créé un environnement de développement avec rails6 + docker + postgreSQL + Materialise.
Construction d'environnement de rails avec Docker (apocalypse personnelle)
Construire un environnement Rails 6 + MySQL avec Docker compose
Résumé de la construction de l'environnement avec rvm et postgresql
Comment créer un environnement Rails 6 avec Docker
Le super débutant construit Rails 6 + environnement Postgresql avec Docker jusqu'à la fin
Procédure de création d'un environnement de développement d'applications Rails avec Docker [Rails, MySQL, Docker]
Comment installer Pry après avoir créé un environnement de développement Rails avec Docker
Construction de l'environnement Rails Docker
Essayez de créer Express + PostgreSQL + Sequelize avec Docker [Partie 2]
Créer un environnement de développement pour Docker + Rails6 + Postgresql
Essayez de créer Express + PostgreSQL + Sequelize avec Docker [Partie 1]
Préparer un environnement de scraping avec Docker et Java
[Rails] Comment créer un environnement avec Docker
J'ai construit un environnement de rails avec docker et mysql, mais j'étais malade
Créez un environnement de développement local pour les didacticiels Rails avec Docker (Rails 6 + PostgreSQL + Webpack)
Exécuter des rails à chaque fois dans le docker
Créer un environnement Docker avec WSL
Environnement Build Rails (API) x MySQL x Nuxt.js avec Docker
[Docker] À utiliser à tout moment avec Docker + Rails
[Rails] [Docker] Le copier-coller est OK! Comment créer un environnement de développement Rails avec Docker
Créez un environnement de développement d'applications Rails avec Docker [Docker, Rails, Puma, Nginx, MySQL]
Créez un environnement Vue3 avec Docker!
Créer un environnement Node.js avec Docker Compose
Créer un environnement local Couchbase avec Docker
Construction d'environnement avec Docker pour les débutants
Hello World avec Docker et langage C
Créer un environnement de vérification SolrCloud avec Docker
Rails sur la procédure de construction de l'environnement Docker
Microservices avec Docker et Cloud Performance
Créez un environnement Docker + Laravel avec Laradock
Création d'un environnement de développement pour Ruby on Rails à l'aide de Docker + VSCode (Remote Container)
Construire un environnement PostgreSQL avec Docker (de la configuration à juste avant le développement)
Création d'un environnement haskell avec Docker + VS Code sur Windows10 Home
Comment créer un environnement Rails + Vue + MySQL avec Docker [dernière version 2020/09]