J'ai l'impression de la vérifier à chaque fois que je crée une application, je l'ai donc résumée sous forme de mémorandum. Veuillez saisir le nom de l'application dans la section «nom de l'application» ci-dessous.
Tout d'abord, créez le répertoire de base de votre application. De plus, utilisez la commande tactile pour créer deux fichiers vides.
$nom de l'application mkdir&&nom de l'application cd
$ touch Gemfile Gemfile.lock
Parce que je développe en utilisant VScode Il est démarré à l'aide de la commande code. À propos, la commande de code démarrera et créera pour vous.
Modifiez le fichier Gemfile.
$ code Gemfile
Gemfile
source 'https://rubygems.org'
gem 'rails', '~>5.2'
Créez et modifiez un Dockerfile.
$ 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 /nom de l'application
COPY Gemfile Gemfile.lock /nom de l'application/
RUN bundle install
Créez et modifiez le fichier docker-compose.yml.
$ code docker-compose.yml
docker-compose.yml
version: "3"
volumes:
db-data:
services:
web:
build: .
ports:
- "3000:3000"
volumes:
- ".:/nom de l'application"
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"
Démarrez le conteneur, entrez dans le conteneur Web et rails nouveaux.
$ docker-compose up --build -d
$ docker-compose exec web bash
$ rails new . --force --database=postgresql
Ajouter au fichier database.yml créé par rails new.
database.yml
default: &default
adapter: postgresql
encoding: unicode
host: db #Postscript
user: postgres #Postscript
port: 5432 #Postscript
password: <%= ENV.fetch("DATABASE_PASSWORD") %> #Postscript
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
$ rails db:migrate
$ rails s -b 0.0.0.0
Si vous accédez à la barre de recherche de Chrome en tapant localhost: 3000, vous verrez bonjour le monde!
Recommended Posts