[Docker] Construction de l'environnement Rails 5.2 avec docker

supposition

docker et docker-compose installés

1. Préparez le fichier

Placez Gemfile, Gemfile.lock, Dockerfile, Docker-compose.yml sous ~ / Desktop / product-register.

  1. Dockerfile
FROM ruby:2.5
RUN apt-get update && apt-get install -y \
      build-essential \
      libpg-dev \
      nodejs \
      postgresql-client \
      yarn
WORKDIR /product-register
COPY Gemfile Gemfile.lock /product-register/
RUN bundle install
  1. Docker-compose.yml
version: '3'
services:
  web:
    build: .    //image Si vous voulez obtenir une image:Nom de l'image
    ports:
      - '3000:3000'
    volumes:
      - '.:/product-register'
    tty: true
    stdin_open: true

Remarque: retraits et espaces importants

  1. Gemfile
source 'https://rubygems.org'
gem 'rails', '~> 5.2'

2. Créez un conteneur et créez une application Rails

$ docker-compose up -d 
$ docker-compose exec web bash
:/product-register# rails new . --force --database=postgresql -skip-bundle //gemfile est mis à jour
$ docker-compose down //Déposez le conteneur une fois pour mettre à jour le gemfile
$ docker-compose up --build -d Pour utiliser l'image nouvellement créée de dockerfile--Ajouter une version
$ docker-compose exec web bash //Entrez encore
:/product-register# rails s -b 0.0.0.0 //J'obtiens une erreur car la base de données n'est pas encore définie

3. Paramètres de la base de données

1. Modifiez config / database.yml de l'application créée

adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  host: db                  
  user: postgres       
  port: 5432
  password: <%= ENV.fetch("DATABASE_PASSWORD") %> 

2. Ajout de la partie db du fichier docker-compose.yml

version: '3'

volumes:
  db-data:             //Créer un volume de docker
services:
  web:
    build: .
    ports:
      - '3000:3000'
    volumes:
      - '.:/app'
    environment:
      - 'DATABASE_PASSWORD=postgres'
    tty: true
    stdin_open: true
    depends_on:
      - db
    links:
      - db
  
  db:
    image: postgres
    volumes:
      - 'db-data:/var/lib/postgresql/data'    //Je monte le volume du docker que j'ai créé ci-dessus
    environment:                      
      - 'POSTGRES_PASSWORD=postgres'   //Semble avoir été nécessaire récemment

Recommended Posts

[Docker] Construction de l'environnement Rails 5.2 avec docker
[Construction de l'environnement avec Docker] Rails 6 et MySQL 8
Construction de l'environnement Rails Docker
Construction d'environnement de rails avec Docker (apocalypse personnelle)
Créer un environnement Node.js avec Docker Compose
Construction d'environnement avec Docker pour les débutants
Rails sur la procédure de construction de l'environnement Docker
Construction de l'environnement GPU avec Docker [version d'octobre 2020]
Construction de l'environnement de développement Laravel avec Docker (Mac)
Construire un environnement Rails 6 + MySQL avec Docker compose
[Docker] Construction de l'environnement de développement Rails6 / Ruby2.7 / MySQL8
Construire un environnement pour Laravel + MySQL + phpMyadmin avec Docker
Créez un environnement de développement d'applications Rails avec Docker [Docker, Rails, Puma, Nginx, MySQL]
Comment créer un environnement Rails 6 avec Docker
Création d'un environnement de développement pour Ruby on Rails à l'aide de Docker + VSCode (Remote Container)
Procédure de construction de l'environnement Docker "Rails 6 x MySQL 8" à partager avec les équipes
[Rails] Comment créer un environnement avec Docker
Procédure de construction et de développement de l'environnement local Wordpress avec Docker
Construction de l'environnement de développement Rails6 [Mac]
Ingénieur Rails Environnement Construction Ruby2.7.1
Construction de l'environnement des rails Rails5.2.1 ruby2.5.1 Catalina
Mémo de construction de l'environnement MySQL 5.7 (Docker)
Exécuter des rails à chaque fois dans le docker
Mémo de construction de l'environnement Redmine (Docker)
Créer un environnement Docker avec WSL
Construction de l'environnement Docker × Spring Boot
[Rails / MySQL] Construction de l'environnement Mac
[Docker] postgres, construction de l'environnement pgadmin4
[Docker] À utiliser à tout moment avec Docker + Rails
[Rails API x Docker] Construction facile de l'environnement avec contrôle de la coque et du fonctionnement avec Flutter
Manuel de construction de l'environnement de développement stable pour "Rails6" avec "Docker-compose"
Rails5 + MySQL8.0 + Construction d'environnement de volumes de premier niveau avec docker-compose
Environnement Build Rails (API) x MySQL x Nuxt.js avec Docker
Création d'un environnement de base de données avec Docker dans Spring Boot (IntellJ)
Créez un environnement Vue3 avec Docker!
Créer un environnement local Couchbase avec Docker
Construction de l'environnement d'utilisation Laravel + Docker Laradock
Créer un environnement de vérification SolrCloud avec Docker
Mémo de construction de l'environnement Ruby on Rails 6.0
Flux de construction de l’environnement Rails problématiques [Windows 10]
[Rails] Construction de l'environnement d'instance AWS EC2
Créez un environnement Docker + Laravel avec Laradock
J'ai créé un environnement de développement avec rails6 + docker + postgreSQL + Materialise.