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