[RAILS] Vom Ziehen des Docker-Images der Schienen bis zum Starten

Lassen Sie uns die mit Docker erstellte Rails-Umgebung wiederverwenden

Es ist mühsam, Docker und Docker-Compose einmal zu erstellen, während auf die anderer Personen verwiesen wird, und dann von vorne zu beginnen, wenn Sie eine Anwendung mit denselben Einstellungen erstellen möchten. Also werde ich das Bild, das ich gemacht habe, auf Docker-Hub hochladen, damit ich es leicht duplizieren kann. Dieses Mal werde ich das von Rails 6.0.3 und mysql8.0.2 erstellte Image verwenden. (Referenz: https://qiita.com/shima-zu/items/b825c5a47b3582ef99cc)

Überprüfen Sie zunächst die Container-ID, die bei Docker-Compose verwendet wird, und erstellen Sie ein Image, das von dieser Container-ID an Docker-Hub gesendet werden soll. Geben Sie diesen Befehl im Terminal ein, um den Status des Containers abzurufen. macbook-pro rails_app % docker ps -a
Ausgabeergebnis

51334eee76eb        rails_app_web       "entrypoint.sh bash …"   2 days ago          Up 31 minutes       0.0.0.0:3000->3000/tcp              rails_app_web_1
40f92b2d8ed5        mysql:8.0.20        "docker-entrypoint.s…"   2 days ago          Up 31 minutes       33060/tcp, 0.0.0.0:3307->3306/tcp   rails_app_db_1 

Es werden zwei Container verwendet: ID = 51334eee76eb Name = rails_app_web, ID = 40f92b2d8ed5, Name = mysql: 8.0.20. Übrigens entspricht mysql: 8.0.20 dem Tag. Um zum Docker-Hub zu gelangen, muss der Image-Name den Benutzernamen enthalten. Erstellen Sie daher ein neues Image.

tag


 Geben Sie für MySQL Tag = `8.0.20` ein.
 Wenn kein Tag angegeben ist, wird das neueste automatisch festgelegt.
 Und schieben Sie das Image schließlich zum Docker-Hub.
`docker push Username/ImageName:tag`
 Sie können mit schieben.
 Ziehen Sie nun das Bild von hier, erstellen Sie einen Container und gehen Sie zu dem Punkt, an dem Sie Yay! Sie sind auf Schienen!
 Stellen Sie zuerst das Arbeitsverzeichnis ein und verschieben Sie es.
`mkdir /docker-rails
 cd docker-rails`
 Ziehen Sie das Bild.
`docker pull Username/rails_app_web`
`docker pull Username/mysql`
 Erstellen Sie die erforderlichen Dateien.
` touch { docker-compose.yml, Gemfile, Gemfile.lock, entrypoint.sh, .env }`
 Wenn Sie den Build von docker-compose.yml nicht löschen und die Portnummer ändern, wird die Fehlermeldung "Port ist bereits vergeben" angezeigt. Seien Sie also vorsichtig.
`docker-compose run --rm web rails new . --force --no-deps --database=mysql --skip-turbolinks`
 Erstellen Sie eine Rails-App im Ordner und installieren Sie den Webpacker erneut.
`docker-compose run --rm web bin/rails webpacker:install`
 Fügen Sie database.yml auf die gleiche Weise ein, um die Datenbank zu erstellen.
`docker-compose run --rm web bin/rails db:create`
 Starten Sie schließlich den Container im Hintergrund und Sie sind fertig.
`docker-compose up -d`


Recommended Posts

Vom Ziehen des Docker-Images der Schienen bis zum Starten
Von der Einführung bis zur Verwendung von byebug
[Rails] Wie man von erb zu haml konvertiert
[Rails] Zuweisen von Variablen vom Controller zu JavaScript
Strict_loading-Funktion zur Unterdrückung des Auftretens von N + 1-Problemen, die von Schienen hinzugefügt wurden 6.1
Schaltfläche [Schienen], um zum Anfang der Seite zurückzukehren
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
So verknüpfen Sie Rails6 Vue (aus dem Umgebungsbau)
Rails Tutorial Kapitel 1 Von Null bis Bereitstellung [Try]
Zusammenfassung des Mooses beim Update von JMockit 1.4 auf 1.30
Vom Setup bis zur Verwendung des Selenium-Wrappers Selenide
Ich möchte mit Firestore von Rails spielen
Verwendung von JQuery in Rails 6 js.erb
[Rails] Einführung von pay.jp (von der Ansichtsanpassung bis zur Registrierung)
[Schienen] Von der Testvorbereitung zum Modelleinheitentest [RSpec]
Von der Einführung des Geräts bis zur Erstellung der Benutzertabelle
Wie schreibe ich Scala aus der Perspektive von Java
[Rails, JS] So implementieren Sie die asynchrone Anzeige von Kommentaren
[Von Zeit zu Zeit aktualisiert] Ruby on Rails Praktische Methode
[Rails] So ändern Sie den Spaltennamen der Tabelle
[Eclipse] Zusammenfassung der Umgebungseinstellungen * Von Zeit zu Zeit aktualisiert
So laden Sie Bilder von AWS S3 herunter (Rails, Carrierwave)
Rails Tutorial 4. Ausgabe: Kapitel 1 Von Null bis Bereitstellung
So verhindern Sie, dass editTextPreference von android PreferenceFragmentCompat beschädigt wird
[Rails] So erhalten Sie den Inhalt starker Parameter
[Ruby on Rails] Von der MySQL-Konstruktion zum Datenbankwechsel
[Ubuntu20.04] Von der ROS-noetischen Installation zur SLAM-Simulation von turtlebot3
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
Wie schreibe ich Rails
Migrieren Sie von JUnit 4 zu JUnit 5
Einführung in Bootstrap in Rails 5
[Rails] Einführung von PAY.JP
Bootstrap in Rails einführen !!
Einführung von Vue.js in Rails
So deinstallieren Sie Rails
Von Java zu Ruby !!
Cloud9 (Rails) von Github
Die Geschichte der Erhöhung von Spring Boot von 1.5 auf 2.1 Serie Teil2
Java, das Daten von Android zu Jetson Nanos ROS überspringt
Kauen der Schienen Tutorial [Kapitel 1 Von Null bis Bereitstellung] Zweite Hälfte
Kauen der Schienen Tutorial [Kapitel 1 Von Null bis Bereitstellung] Erste Hälfte
So schreiben Sie eine Migration vom Rails-Datums- / Uhrzeittyp zum Datumstyp
Kommen Sie zu den Abkürzungen aus den fünf Beispielen für kursive Java-Listen
[Ruby on Rails] Eliminierung von Fat Controller-First, Logik zum Modell-
So erhalten Sie die längsten Informationen von Twitter ab dem 12.12.2016
So brennen Sie eine Installationsdiskette von Windows unter Ubuntu
[Rails] Funktion zum Suchen und Auflisten von Produkten aus mehrstufigen Kategorien
Eine Reihe von Schritten zum Erstellen von Ergebnissen für Portfolios mit Rails