[RUBY] Procédure de création d'un environnement de développement d'applications Rails avec Docker [Rails, MySQL, Docker]

Bonjour. Cette fois, j'ai résumé la procédure de création d'un environnement de développement d'applications Rails avec Docker. Je n'ai pas encore suffisamment étudié, alors j'apprécierais que vous puissiez signaler des corrections ou des améliorations.

Préparation préalable

environnement

Ruby: 2.5.8 Rails: 5.2.4.3 MySQL: 5.7.31 Docker: 19.03.8 Docker Compose: 1.25.4

procédure

1. Créez le répertoire racine du projet

terminal



$ mkdir test-app

Commencez par créer le répertoire racine de votre projet.

2. Ajoutez des fichiers directement sous le répertoire racine

terminal



$ cd test-app
$ touch Dockerfile docker-compose.yml Gemfile Gemfile.lock

Créez quatre fichiers, Dockerfile, docker-compose.yml, Gemfile et Gemfile.lock, directement sous le répertoire racine créé. Le contenu de chaque fichier est le suivant (laissez Gemfile.lock vide).

Dockerfile



FROM ruby:2.5
RUN apt-get update && apt-get install -y \
    build-essential \
    nodejs
WORKDIR /test-app
COPY Gemfile Gemfile.lock /test-app/
RUN bundle install

docker-compose.yml



version: '3'

volumes:
  mysql-data:

services:
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    ports:
      - '3000:3000'
    volumes:
      - '.:/test-app'
    tty: true
    stdin_open: true
    depends_on:
      - db
    links:
      - db

  db:
    image: mysql:5.7
    volumes:
      - 'mysql-data:/var/lib/mysql'
    environment:
      - 'MYSQL_ROOT_PASSWORD=test-app'

Gemfile



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

3. Mettre en place des rails dans le conteneur

terminal


$ docker-compose run --rm web rails new . --force --database=mysql --skip-bundle --skip-test

Exécutez rails new dans un conteneur Web. J'avais l'intention d'utiliser RSpec pour les tests cette fois, j'ai donc également ajouté --skip-test.

4. Modifiez le fichier config / database.yml créé

Modifiez le config / database.yml créé par le programme d'installation de Rails comme suit.

config/database.yml



default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: test-app   #docker-compose.yml MYSQL_ROOT_Définissez la valeur de PASSWORD
  host: db   #docker-compose.Correspondance avec le nom du service yml

development:
  <<: *default
  database: test-app_development

5. Démarrez le conteneur

terminal



$ docker-compose up --build -d
$ docker-compose run --rm web rails db:create

Maintenant, lorsque vous visitez http: // localhost: 3000, vous devriez voir l'écran d'accueil de Rails.

rails_home_pic.png

référence

Recommended Posts

Procédure de création d'un environnement de développement d'applications Rails avec Docker [Rails, MySQL, Docker]
Créez un environnement de développement d'applications Rails avec Docker [Docker, Rails, Puma, Nginx, MySQL]
Créer un environnement de développement pour Django + MySQL + nginx avec Docker Compose
Procédure de construction de l'environnement Docker "Rails 6 x MySQL 8" à partager avec les équipes
Créer un environnement de développement pour Docker + Rails6 + Postgresql
Création d'un environnement de développement pour les applications Web Java avec Docker pour Mac Part1
Créez un environnement de développement local pour les didacticiels Rails avec Docker (Rails 6 + PostgreSQL + Webpack)
Créer un environnement de développement d'applications Web Java avec Docker pour Mac Part2
Procédure de migration de l'environnement de développement d'applications Rails vers Docker même si vous êtes inexpérimenté (Rails5 + MySQL8.0 + docker-compose)
[Construction de l'environnement avec Docker] Rails 6 et MySQL 8
Procédure pour introduire Docker dans l'environnement de développement des applications Rails existantes [Rails, MySQL, Docker]
J'ai créé un environnement de développement avec rails6 + docker + postgreSQL + Materialise.
Créez un environnement de développement d'applications Web qui utilise Java, MySQL et Redis avec Docker CE pour Windows
Construction de Rails 6 et environnement PostgreSQL avec Docker
Créer un environnement de développement PureScript avec Docker
[Docker] Construction de l'environnement de développement Rails6 / Ruby2.7 / MySQL8
Créer un environnement de développement Wordpress avec Docker
Comment installer Pry après avoir créé un environnement de développement Rails avec Docker
[Rails] Développement avec MySQL
Créez rapidement un environnement de développement WordPress avec Docker
Créer un environnement de développement pour Docker, Java, vs code
Procédure de construction et de développement de l'environnement local Wordpress avec Docker
Créer un environnement de développement Spring Boot avec docker
Créer un environnement de débogage sur un conteneur - Créer un environnement de développement local pour les didacticiels Rails avec Docker -
J'ai construit un environnement de rails avec docker et mysql, mais j'étais malade
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 6.x)
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 5.x)
Modèle: créer un environnement de développement Ruby / Rails avec un conteneur Docker (version Ubuntu)
Modèle: créer un environnement de développement Ruby / Rails avec un conteneur Docker (version Mac)
Manuel de construction de l'environnement de développement stable pour "Rails6" avec "Docker-compose"
[Docker] Construction de l'environnement Rails 5.2 avec docker
Environnement Build Rails (API) x MySQL x Nuxt.js avec Docker
Comment quitter Docker pour Mac et créer un environnement de développement Docker avec Ubuntu + Vagrant
[Pour les débutants] Jusqu'à la création d'un environnement de développement d'applications Web utilisant Java sur Mac OS
Docker x Java Construire un environnement de développement trop simple
[Procédure 1 pour les débutants] Ruby on Rails: Construction d'un environnement de développement
J'ai essayé de créer un environnement de développement padrino avec Docker
Mesures des autorisations lors de la construction de MySQL avec Docker sur WSL2
Créez un environnement Vue3 avec Docker!
Créer un environnement Node.js avec Docker
Construction d'environnement pour le développement d'applications Servlet
Construction d'environnement avec Docker pour les débutants
Rails sur la procédure de construction de l'environnement Docker
Créez un environnement de développement local pour les didacticiels Rails avec Docker-Introduisez Bootstrap et Font Awesome avec Webpack-
Construire un SPA pour Laravel 6.2 / Vue.js / Nginx / Mysql / Redis avec Docker
Création d'un environnement de développement pour Ruby on Rails à l'aide de Docker + VSCode (Remote Container)