[RUBY] Verfahren zum Erstellen einer Rails-Anwendungsentwicklungsumgebung mit Docker [Rails, MySQL, Docker]

Hallo. Dieses Mal habe ich das Verfahren zum Erstellen einer Rails-Anwendungsentwicklungsumgebung mit Docker zusammengefasst. Ich habe noch nicht genug gelernt, daher würde ich mich freuen, wenn Sie auf Korrekturen oder Verbesserungen hinweisen könnten.

Vorbereitungen

Umgebung

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

Verfahren

1. Erstellen Sie das Stammverzeichnis des Projekts

terminal



$ mkdir test-app

Erstellen Sie zunächst das Stammverzeichnis Ihres Projekts.

2. Fügen Sie Dateien direkt unter dem Stammverzeichnis hinzu

terminal



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

Erstellen Sie vier Dateien, "Dockerfile", "docker-compose.yml", "Gemfile" und "Gemfile.lock", direkt unter dem erstellten Stammverzeichnis. Der Inhalt jeder Datei lautet wie folgt: (Lassen Sie Gemfile.lock leer.)

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. Richten Sie die Schienen im Container ein

terminal


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

Führen Sie "Rails New" in einem Webcontainer aus. Ich hatte vor, dieses Mal RSpec zum Testen zu verwenden, also habe ich auch "--skip-test" hinzugefügt.

4. Bearbeiten Sie die erstellte Datei config / database.yml

Bearbeiten Sie die vom Rails-Setup erstellte config / database.yml wie folgt.

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_Stellen Sie den Wert von PASSWORD ein
  host: db   #docker-compose.Übereinstimmung mit dem Namen des yml-Dienstes

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

5. Starten Sie den Container

terminal



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

Wenn Sie jetzt http: // localhost: 3000 besuchen, sollte der Rails-Startbildschirm angezeigt werden.

rails_home_pic.png

Referenz

Recommended Posts

Verfahren zum Erstellen einer Rails-Anwendungsentwicklungsumgebung mit Docker [Rails, MySQL, Docker]
Erstellen Sie eine Entwicklungsumgebung für Rails-Anwendungen mit Docker [Docker, Rails, Puma, Nginx, MySQL]
Erstellen Sie mit Docker Compose eine Entwicklungsumgebung für Django + MySQL + nginx
Konstruktionsverfahren für die Docker-Umgebung "Rails 6 x MySQL 8" für die gemeinsame Nutzung mit Teams
Erstellen Sie eine Entwicklungsumgebung für Docker + Rails6 + Postgresql
Erstellen einer Entwicklungsumgebung für Java-Webanwendungen mit Docker für Mac Teil1
Erstellen Sie mit Docker eine lokale Entwicklungsumgebung für Rails-Tutorials (Rails 6 + PostgreSQL + Webpack)
Erstellen Sie mit Docker für Mac Teil2 eine Entwicklungsumgebung für Java-Webanwendungen
Vorgehensweise zum Migrieren der Rails-Anwendungsentwicklungsumgebung zu Docker, auch wenn Sie unerfahren sind (Rails5 + MySQL8.0 + Docker-Compose)
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8
Verfahren zum Einführen von Docker in die Entwicklungsumgebung vorhandener Rails-Apps [Rails, MySQL, Docker]
Ich habe eine Entwicklungsumgebung mit Rails6 + Docker + PostgreSQL + Materialise erstellt.
Erstellen Sie mit Docker CE für Windows eine Webanwendungsentwicklungsumgebung, die Java, MySQL und Redis verwendet
Erstellen einer Rails 6- und PostgreSQL-Umgebung mit Docker
Erstellen Sie mit Docker eine PureScript-Entwicklungsumgebung
[Docker] Entwicklung der Entwicklungsumgebung Rails6 / Ruby2.7 / MySQL8
Erstellen Sie mit Docker eine Wordpress-Entwicklungsumgebung
So installieren Sie Pry nach dem Erstellen einer Rails-Entwicklungsumgebung mit Docker
[Rails] Entwicklung mit MySQL
Erstellen Sie mit Docker schnell eine WordPress-Entwicklungsumgebung
Erstellen Sie eine Entwicklungsumgebung für Docker, Java und Code
Konstruktions- und Entwicklungsverfahren für lokale WordPress-Umgebungen mit Docker
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Erstellen Sie eine Debug-Umgebung auf einem Container. Erstellen Sie mit Docker eine lokale Entwicklungsumgebung für Rails-Tutorials.
Ich habe eine Rails-Umgebung mit Docker und MySQL erstellt, aber ich war krank
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
Vorlage: Erstellen Sie eine Ruby / Rails-Entwicklungsumgebung mit einem Docker-Container (Ubuntu-Version).
Vorlage: Erstellen Sie eine Ruby / Rails-Entwicklungsumgebung mit einem Docker-Container (Mac-Version).
Konstruktionshandbuch für eine stabile Entwicklungsumgebung für "Rails6" mit "Docker-compose"
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Build Rails (API) x MySQL x Nuxt.js Umgebung mit Docker
So beenden Sie Docker für Mac und erstellen eine Docker-Entwicklungsumgebung mit Ubuntu + Vagrant
[Für Anfänger] Bis zum Erstellen einer Webanwendungsentwicklungsumgebung mit Java unter Mac OS
Docker x Java Erstellen einer zu einfachen Entwicklungsumgebung
[Verfahren 1 für Anfänger] Ruby on Rails: Aufbau einer Entwicklungsumgebung
Ich habe versucht, mit Docker eine Padrino-Entwicklungsumgebung zu erstellen
Maßnahmen für Berechtigungen beim Erstellen von MySQL mit Docker auf WSL2
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie mit Docker eine Node.js-Umgebung
Umgebungskonstruktion für die Entwicklung von Servlet-Anwendungen
Umgebungsbau mit Docker für Anfänger
Konstruktionsverfahren für Rails on Docker-Umgebungen
Erstellen Sie mit Docker-Introduce Bootstrap und Font Awesome with Webpack- eine lokale Entwicklungsumgebung für Rails-Tutorials.
Erstellen Sie mit Docker ein SPA für Laravel 6.2 / Vue.js / Nginx / Mysql / Redis
Erstellen einer Entwicklungsumgebung für Ruby on Rails mit Docker + VSCode (Remote Container)