Docker und Docker-Compose installiert
Fügen Sie Gemfile, Gemfile.lock, Dockerfile, Docker-compose.yml unter ~ / Desktop / product-register ein.
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
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
source 'https://rubygems.org'
gem 'rails', '~> 5.2'
$ 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
adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  host: db                  
  user: postgres       
  port: 5432
  password: <%= ENV.fetch("DATABASE_PASSWORD") %> 
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