[GO] Erstellen Sie eine Rails-Anwendung mit Docker

Überblick

Während der Docker-Studiensitzung dachte ich, es wäre eine Verschwendung, das erstellte Repository so zu füllen, wie es ist, und schrieb es als Artikel. Ich hoffe es wird jemandem helfen.

https://github.com/yodev21/docker_tutorial_rails

Arbeitsablauf

Dateierstellung

Erstellen Sie die folgende Datei

Dockerfile
docker-compose.yml
Gemfile
Gemfile.lock
#Ruby im Bildnamen(Ver2.6.5)Geben Sie das Image der Ausführungsumgebung von an
FROM ruby:2.6.5

#Aktualisieren Sie die Liste der Pakete und installieren Sie die Pakete, die zum Erstellen der Rails-Umgebung erforderlich sind
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs

#Erstellen Sie ein Verzeichnis für Ihr Projekt
RUN mkdir /myapp

#Auf Arbeitsverzeichnis setzen
WORKDIR /myapp

#In Projektverzeichnis kopieren
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock

#Bundle-Installation ausführen
RUN bundle install

#Kopieren Sie den gesamten Inhalt des Build-Kontexts nach myapp
COPY . /myapp

docker-compose.yml


version: '3'
services:
  db:
    #Holen Sie sich ein Bild von Postgres
    image: postgres
    environment:
      POSTGRES_USER: 'postgresql'
      POSTGRES_PASSWORD: 'postgresql-pass'
    restart: always
    volumes:
      - pgdatavol:/var/lib/postgresql/data
  web:
    #Erstellen und verwenden Sie ein Image aus einer Docker-Datei
    build: .
    #Wird ausgeführt, wenn der Container gestartet wird
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    #Aktuelles Verzeichnis/Binden Sie die Halterung an myapp
    volumes:
      - .:/myapp
    #Veröffentlichen Sie bei 3000 und übertragen Sie auf 3000 im Behälter
    ports:
      - "3000:3000"
    #Starten Sie den Datenbankdienst, bevor Sie den Webdienst starten
    depends_on:
      - db
#Erstellen Sie ein pgdatabol-Volume für die Datenpersistenz und hängen Sie den Datenbereich von postgresql ein
volumes:
  pgdatavol:
source 'https://rubygems.org'
gem 'rails', '5.2.4.2'

Gemfile.lock


Schienenanwendung erstellen

docker-compose run web rails new . --force --database=postgresql

Feste Datenbankkonfigurationsdatei für Rails-Projekt

database.yml


default: &default
  adapter: postgresql
  encoding: unicode
  # --------hinzufügen--------
  host: db
  username: postgresql
  password: postgresql-pass
  # --------Bisher--------

Starten Sie im Trennmodus (Hintergrund)

docker-compose up -d

Was tun, wenn die Bundle-Installation nicht berücksichtigt wird?

docker-compose build --no-cache

Befehl zur Datenbankerstellung

docker-compose run web rails db:create

Erstellen Sie eine einfache Anwendung mit Scaffold

docker-compose run web bin/rails g scaffold User name:string
docker-compose run web bin/rails db:migrate

http://localhost:3000/users

Behälter stoppen

docker-compose stop

Container löschen

docker-compose down

In einen Behälter geben

docker-compose run web bash

Versuchen Sie es mit der Sprache Go

Verzeichnis verschieben

cd doc/golang/
FROM golang:1.9

RUN mkdir /echo
COPY main.go /echo
CMD ["go", "run", "/echo/main.go"]

Image erstellen

docker image build -t example/echo:latest .

Überprüfen Sie das Bild

docker image ls

Container starten

docker container run -d -p 9000:8080 example/echo:latest

Bestätigung der GET-Anfrage

curl http://localhost:9000

Recommended Posts

Erstellen Sie eine Rails-Anwendung mit Docker
Ein Memo zum Erstellen einer Django (Python) -Anwendung mit Docker
Stellen Sie die Django-Anwendung mit Docker bereit
Anwendungsentwicklung mit Docker + Python + Flask
Führen Sie eine Python-Webanwendung mit Docker aus
Starten Sie die Flask-Anwendung mit Docker auf Heroku
TFTP-Server mit Docker
Proxyserver mit Docker
Hallo, Welt mit Docker
Starten Sie mit Docker eine Python-Webanwendung auf Nginx + Gunicorn
Entwicklung von Webanwendungen mit Flask
WebSocket-Anwendung mit Flask-Socket IO
Erstellen Sie eine Webanwendung mit Django
PySpark Leben beginnt mit Docker
Bereiten Sie die Python3-Umgebung mit Docker vor
Probieren Sie Selenium Grid mit Docker aus
Webanwendung mit Python + Flask ④
(Hinweis) Hinweise zum Erstellen einer TensorFlow + Flask + Nginx-Umgebung mit Docker Compose
Erstellen einer Kubernetes-Umgebung mit ansible 2
Japanisieren Sie Matplotlib mit Alpine mit Docker
Bis Sie Jupyter in Docker starten
Einfacher Slackbot mit Docker und Errbot
Messen Sie die Abdeckung der Django-Anwendung mit Coverage.py
Erstellen eines Flask-Servers mit Docker
Erstellen Sie eine Deb-Datei mit Docker
Tipps zum Ausführen Gehen Sie mit Docker
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Überwachen Sie die Leistung von Python-Anwendungen mit Dynatrace ♪
Google AppEngine-Entwicklung mit Docker
Twitter-Posting-Anwendung mit Django gemacht
Erstellen Sie eine Webanwendung mit Django
Erstellen Sie die Entwicklungsumgebung von Django mit Docker neu! !! !! !!
Anwendung von Python: Datenbereinigung Teil 2: Datenbereinigung mit DataFrame
Plotten Anwenden von Diagrammen mit Schiebereglern
Automatisieren Sie Windows-Anwendungstests mit Windows Application Driver-Python Edition
(Hinweis) Hinweise zum Erstellen einer Tensor Flow-Umgebung mit Docker Compose (nur ein Container)