Je n'ai utilisé que mysql avec docker et cela a pris du temps, donc je l'ai écrit pour pouvoir le voir plus tard. J'ai ajouté pgadmin car c'est pratique.
docoker-docker pour que vous n'ayez pas à vous déplacer après avoir composé-compose.J'ai écrit en yml pour le faire automatiquement avec la commande.
 Je n'ai généralement pas besoin de recréer le conteneur, donc je suppose que je le ferai avec `` `` docker-compose start / stop` `` ``.
#### **`Dockerfile`**
```dockerfile
FROM ruby:2.6
RUN apt-get update -y && \
    apt-get install  -y nodejs
COPY Gemfile /Gemfile
COPY Gemfile.lock /Gemfile.lock
RUN gem install bundler
RUN bundle install
docker-compose.yml
version: "3"
services:
  db:
    image: postgres
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: root
    volumes:
      - "./postgres-data:/var/lib/postgresql/data"
  pgadmin4:
    image: dpage/pgadmin4:4.2
    ports:
      - 80:80
    volumes:
      - ./docker/pgadmin4:/var/lib/pgadmin
    environment:
      PGADMIN_DEFAULT_EMAIL: root
      PGADMIN_DEFAULT_PASSWORD: root
    depends_on:
      - db
  web:
    build: .
    volumes:
      - ".:/app"
    ports:
      - "3000:3000"
    tty: true
    depends_on:
      - db
    working_dir: "/app"
    command: "rails s -b 0.0.0.0"
mysql et database.yml sont différents, et j'étais accro à écrire quelque chose comme develop ici. J'ai dû l'écrire correctement par défaut.
config/database.yml
default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  #Ici et là
  username: root
  password: root
  host: db
Site de référence Persistance des paramètres du serveur de connexion de pgadmin4 / docker \ -Qiita
Ecrire rails5 Dockerfile et docker \ -compose \ .yml \ -Qiita
Recommended Posts