[Docker] Rails 5.2-Umgebungskonstruktion mit Docker

Annahme

Docker und Docker-Compose installiert

1. Datei vorbereiten

Fügen Sie Gemfile, Gemfile.lock, Dockerfile, Docker-compose.yml unter ~ / Desktop / product-register ein.

  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: .    //Bild Wenn Sie ein Bild erhalten möchten:Bildname
    ports:
      - '3000:3000'
    volumes:
      - '.:/product-register'
    tty: true
    stdin_open: true

Hinweis: Starke Einrückungen und Leerzeichen

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

2. Erstellen Sie einen Container und eine Rails-App

$ docker-compose up -d 
$ docker-compose exec web bash
:/product-register# rails new . --force --database=postgresql -skip-bundle //gemfile wird aktualisiert
$ docker-compose down //Lassen Sie den Container einmal fallen, um die Gem-Datei zu aktualisieren
$ docker-compose up --build -d So verwenden Sie das neu erstellte Image der Docker-Datei--Build hinzufügen
$ docker-compose exec web bash //Erneut eingeben
:/product-register# rails s -b 0.0.0.0 //Ich erhalte eine Fehlermeldung, da die Datenbank noch nicht eingestellt ist

3. DB-Einstellungen

1. Ändern Sie config / database.yml der erstellten App

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

2. Hinzufügen des DB-Teils der Datei docker-compose.yml

version: '3'

volumes:
  db-data:             //Docker-Volume erstellen
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'    //Ich mounte das Docker-Volume, das ich oben erstellt habe
    environment:                      
      - 'POSTGRES_PASSWORD=postgres'   //Scheint in letzter Zeit gebraucht worden zu sein

Recommended Posts

[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8
Aufbau der Rails Docker-Umgebung
Schienenumgebungskonstruktion mit Docker (persönliche Apokalypse)
Erstellen Sie die Node.js-Umgebung mit Docker Compose
Umgebungsbau mit Docker für Anfänger
Konstruktionsverfahren für Rails on Docker-Umgebungen
Aufbau einer GPU-Umgebung mit Docker [Version Oktober 2020]
Aufbau einer Laravel-Entwicklungsumgebung mit Docker (Mac)
[Docker] Entwicklung der Entwicklungsumgebung Rails6 / Ruby2.7 / MySQL8
Erstellen einer Umgebung für Laravel + MySQL + phpMyadmin mit Docker
Erstellen Sie eine Entwicklungsumgebung für Rails-Anwendungen mit Docker [Docker, Rails, Puma, Nginx, MySQL]
So erstellen Sie eine Rails 6-Umgebung mit Docker
Erstellen einer Entwicklungsumgebung für Ruby on Rails mit Docker + VSCode (Remote Container)
Konstruktionsverfahren für die Docker-Umgebung "Rails 6 x MySQL 8" für die gemeinsame Nutzung mit Teams
[Rails] So erstellen Sie eine Umgebung mit Docker
Konstruktions- und Entwicklungsverfahren für lokale WordPress-Umgebungen mit Docker
Aufbau der Rails6-Entwicklungsumgebung [Mac]
Rails Engineer Environment Construction Ruby2.7.1
Schienen Umgebungsbau Schienen5.2.1 ruby2.5.1 Catalina
Konstruktionsnotiz für die MySQL 5.7 (Docker) -Umgebung
Führen Sie Rails immer im Docker aus
Redmine (Docker) Umgebungskonstruktionsnotiz
Erstellen einer Docker-Umgebung mit WSL
Aufbau der Docker x Spring Boot-Umgebung
[Rails / MySQL] Aufbau einer Mac-Umgebung
[Docker] postgres, pgadmin4-Umgebungskonstruktion
[Docker] Wird immer mit Docker + Rails verwendet
[Rails API x Docker] Einfache Umgebungskonstruktion mit Shell- und Funktionsprüfung mit Flutter
Konstruktionshandbuch für eine stabile Entwicklungsumgebung für "Rails6" mit "Docker-compose"
Rails5 + MySQL8.0 + Top-Level-Volume-Umgebungskonstruktion mit Docker-Compose
Build Rails (API) x MySQL x Nuxt.js Umgebung mit Docker
Erstellen einer Datenbankumgebung mit Docker in Spring Boot (IntellJ)
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie mit Docker eine lokale Couchbase-Umgebung
Konstruktion der Laravel + Docker Laradock-Nutzungsumgebung
Erstellen Sie mit Docker eine SolrCloud-Überprüfungsumgebung
Ruby on Rails 6.0-Umgebungskonstruktionsnotiz
Problematischer Ablauf der Rails-Umgebung [Windows 10]
[Rails] Aufbau einer AWS EC2-Instanzumgebung
Erstellen Sie mit Laradock eine Docker + Laravel-Umgebung
Ich habe eine Entwicklungsumgebung mit Rails6 + Docker + PostgreSQL + Materialise erstellt.