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