Lassen Sie das Docker-Image vor etwa einem Monat unverändert Jetzt, da ich es für Heroku bereitstellen kann, habe ich es versucht. Es ist noch in der öffentlichen Beta.
Referenz Container registry public beta - deploy Docker images to Heroku ContainerRegistryandRuntime
Das Folgende wird unter der Annahme beschrieben, dass es bereits abgeschlossen wurde.
Ich habe meine eigene Flask-Anwendung als Bereitstellungsziel verwendet. https://github.com/nanakenashi/image_clock
Es ist eine einfache Uhranwendung, die Bilder nach der Zeit wechselt.
image_clock/
├ static/
├ templates/
├ Dockerfile
├ app.py
└ requirements.txt
#Verwenden Sie Alpine Linux mit Python als Basis-Image
FROM python:3.5.2-alpine
#Git Installation
RUN apk update
RUN apk add git
#Installation des Python-Pakets
ADD requirements.txt /tmp
RUN pip install -r /tmp/requirements.txt
#Platzieren Sie den Quellcode
WORKDIR /web
RUN git clone https://github.com/nanakenashi/image_clock.git clock
#Kolbenanwendung starten
ENV FLASK_APP /web/clock/app.py
CMD flask run -h 0.0.0.0 -p $PORT
Der Punkt ist der Startteil der Kolbenanwendung.
PORT
gespeichert.Stellen Sie sicher, dass der Befehl "Docker" verfügbar ist
$ docker ps
Melden Sie sich bei Heroku an.
$ heroku login
Holen Sie sich den Quellcode von GitHub und wechseln Sie in das Verzeichnis.
$ git clone https://github.com/nanakenashi/image_clock.git ./image_clock
$ cd image_clock
Sichern Sie sich einen Platz für die Anwendung.
$ heroku create flask-clock-sample
Zu diesem Zeitpunkt gibt es keine Quelle, es handelt sich also nur um eine Box. Wenn Sie darauf zugreifen, sieht es so aus. ↓
Erstellen Sie einen Container basierend auf der Docker-Datei und senden Sie ihn an das Repository.
$ heroku container:push --app flask-clock-sample web
--app flask-clock-sample
: Extrahieren Sie den Behälter in die angegebene Anwendungweb
: Geben Sie den Prozesstyp ( web
oder worker
) in Heroku an$ heroku open --app flask-clock-sample
Ich konnte den Betrieb der Uhranwendung bestätigen.
Da die diesmal verwendete Anwendung keine Add-Ons verwendet Es war sehr einfach einzurichten und bereitzustellen.
Es scheint etwas schwieriger zu sein, eine Heroku-ähnliche Konfiguration wie DB-Verbindung und Protokollorganisation zu erstellen.
Recommended Posts