Ich habe das Gefühl, dass ich es jedes Mal überprüfe, wenn ich eine App erstelle. Deshalb habe ich es als Memorandum zusammengefasst. Bitte geben Sie den App-Namen im Abschnitt "App-Name" unten ein.
Erstellen Sie zunächst das Basisverzeichnis für Ihre App. Verwenden Sie außerdem den Befehl touch, um zwei leere Dateien zu erstellen.
$Name der mkdir-App&&Name der CD-App
$ touch Gemfile Gemfile.lock
Weil ich mit VScode entwickle Es wird mit dem Befehl code gestartet. Der Codebefehl wird übrigens gestartet und für Sie erstellt.
Bearbeiten Sie die Gemfile.
$ code Gemfile
Gemfile
source 'https://rubygems.org'
gem 'rails', '~>5.2'
Erstellen und bearbeiten Sie eine Docker-Datei.
$ code Dockerfile
Dockerfile
FROM ruby:2.5
RUN apt-get update
RUN apt-get install -y \
build-essential \
libpq-dev \
nodejs \
postgresql-client \
yarn \
vim
WORKDIR /App Name
COPY Gemfile Gemfile.lock /App Name/
RUN bundle install
Erstellen und bearbeiten Sie die Datei docker-compose.yml.
$ code docker-compose.yml
docker-compose.yml
version: "3"
volumes:
db-data:
services:
web:
build: .
ports:
- "3000:3000"
volumes:
- ".:/App Name"
environment:
- "DATABASE_PASSWORD=postgres"
tty: true
stdin_open: true
depends_on:
- db
links:
- db
db:
image: postgres
volumes:
- "db-data:/var/lib/postgresql/data"
environment:
- "POSTGRES_HOST_AUTH_METHOD=trust"
- "POSTGRES_USER=postgres"
- "POSTGRES_PASSWORD=postgres"
Starten Sie den Container, geben Sie den Webcontainer ein und schienen Sie neu.
$ docker-compose up --build -d
$ docker-compose exec web bash
$ rails new . --force --database=postgresql
Zur Datei database.yml hinzufügen, die von Rails neu erstellt wurde.
database.yml
default: &default
adapter: postgresql
encoding: unicode
host: db #Nachtrag
user: postgres #Nachtrag
port: 5432 #Nachtrag
password: <%= ENV.fetch("DATABASE_PASSWORD") %> #Nachtrag
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
$ rails db:migrate
$ rails s -b 0.0.0.0
Wenn Sie auf die Suchleiste von Chrome zugreifen, indem Sie localhost: 3000 eingeben, wird Hallo Welt angezeigt!
Recommended Posts