$ rails db:system:change --to=postgresql
#Dockerfile
FROM ruby:2.7.1 #Passen Sie die Version an. Fragen Sie bei Gemfile nach
RUN curl https://deb.nodesource.com/setup_12.x | bash
RUN curl https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install -y nodejs yarn postgresql-client
RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y postgresql-client --no-install-recommends && rm -rf /var/lib/apt/lists/*
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN gem install bundler
RUN bundle install
ADD . /myapp
↑ Ich habe verschiedene Fehler bekommen und bin damit umgegangen, aber ich bekomme immer noch eine Warnung. Pien
#docker-compose.yml
version: '3'
services:
db:
image: postgres
ports:
- '5432:5432'
volumes:
- postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=Passwort # Wenn Sie kein beliebiges Passwort festlegen, tritt ein Fehler auf.
web:
build:
context: .
dockerfile: Dockerfile
command: bundle exec rails s -p 3000 -b '0.0.0.0'
tty: true
stdin_open: true
depends_on:
- db
ports:
- "3000:3000"
volumes:
- .:/myapp #Änderungen des Quellcodes werden sofort in Docker angezeigt
volumes:
postgresql-data:
driver: local
database.yml
#Kommentar weglassen
#Passwort ist Docker-compose.Was wurde mit yml eingestellt
default: &default
adapter: postgresql
encoding: utf8
host: db
username: postgres
password: password
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: mayby_docker_development
#Kommentar weglassen
test:
<<: *default
database: mayby_docker_test
#Kommentar weglassen
production:
<<: *default
database: mayby_docker_production
username: mayby_docker
password: <%= ENV['MAYBY_DOCKER_DATABASE_PASSWORD'] %>
webpacker.yml
check_yarn_integrity: false
#default,Es schien nutzlos zu sein, wenn nicht beide Entwicklungen auf falsch gesetzt wurden.
$ docker-compose build
Erstellen Sie eine Datenbank und migrieren Sie.
$ docker-compose run web rake db:create db:migrate
Wenn es bei local: 3000 angezeigt wird, scheint es, dass es vorerst gemacht wurde.
$ docker-compose up
config/environment/development.rb
config.web_console.whitelisted_ips = 'Abgelehnte IP-Adresse'
Ich habe es getan, aber es gibt noch andere
Es gab einen sogenannten Segmentierungsfehler im Zusammenhang mit SaaS. Wenn ich versuche, mit der letzten Kraft zu googeln,
Das Problem, dass Rails 6 einen Segmentierungsfehler verursachte, wurde behoben
Es gab einen gottähnlichen Blog.
assets.rb
#Stoppen Sie die parallele Kompilierung von Asetts (Gegenmaßnahmen gegen Segmentierungsfehler)
Rails.application.config.assets.configure do |env|
env.export_concurrent = false
end
Es wird gesagt, dass ein Edelstein für Gegenmaßnahmen veröffentlicht wird, aber ich bin mir noch nicht sicher, also werde ich eine Weile warten.
Recommended Posts