[PYTHON] Generieren Sie ein Docker-Image mit Fabric

Überblick

Erstellen wir ein Docker-Image mit Fabric. Da Fabric nur über SSH betrieben werden kann, muss Docker über SSH betrieben werden.

Definieren Sie zunächst eine Funktion "Docker", die die folgende Verarbeitung ausführt.

import atexit
import time
from fabric.api import *
from fabric.contrib.console import confirm


@task
def docker():
    env.hosts = ['127.0.0.1:2222']
    env.user = 'root'
    env.password = 'PASSWORD'

    import docker
    cl = docker.Client()
    container = cl.create_container('BASE_IMAGE_NAME',
                                    command='/usr/sbin/sshd -D',
                                    ports=[22])

    cl.start(container, port_bindings={22:2222})
    time.sleep(3)

    @atexit.register
    def commit():
        cl.stop(container)
        if confirm('Commit container changes?', default=True):
            cl.commit(container['Id'], repository='IMAGE_NAME', tag='TAG')

Indem Sie Folgendes in "fabfile.py" schreiben,

$ fab docker TASK_NAME

Es wird möglich sein, wie auszuführen.

Wenn Sie in der obigen Festschreibungsfunktion "Docker Push" usw. automatisieren und ausführen, können Sie auch alles von der Aufgabenausführung bis zum Hochladen des Docker-Index automatisieren.

Außerdem ist für die Ausführung docker-py erforderlich.

Recommended Posts

Generieren Sie ein Docker-Image mit Fabric
Versuchen Sie es mit Jupyters Docker-Image
Erstellen Sie mit Docker eine Go-Umgebung
Erstellen Sie eine GCE-Instanz aus einem GCR Docker-Image mithilfe von Terraform
So codieren Sie eine Drohne mithilfe der Bilderkennung
Generieren Sie Hash-Werte mit der HMAC-Methode.
Packen Sie japanische Verarbeitungssoftware in ein Docker-Image
[AWS Lambda] Erstellen Sie ein Bereitstellungspaket mit dem Amazon Linux Docker-Image
Zusammenfassung bei Verwendung von Fabric
Belichten Sie Ihr Docker-Image
Generieren Sie aus Textdaten ein vertikales Bild eines Romans
Wie man ein praktisches Seminar mit Jupyter mit Docker abhält
Bildsegmentierung mit U-Net
[Python] Maskiere das Bild mit Pillow zu einem Kreis
Tragen Sie einen Docker-Container
Generieren Sie gemeinsam Bildtext
Jupyter Docker Bildzusammenfassung
Erstellen Sie mit Docker eine einfache Fast API-Entwicklungsumgebung
Ich habe versucht, mit PI Fu aus einem Bild ein 3D-Modell einer Person zu erstellen
Probieren Sie die ähnliche Suche von Image Search mit Python SDK [Search] aus.
So generieren Sie eine Abfrage mit dem IN-Operator in Django
Erstellen Sie mit Docker kostengünstig eine Flask-Entwicklungsumgebung
Verwenden Sie wxpython, um ein Gadget-ähnliches transparentes Hintergrundbildfenster zu erstellen
Zeitmessung mit einer Uhr
Lassen Sie uns zufällig eine vollständige Sequenz generieren
Vorhersage von Wolkenbildern mit convLSTM
Pfeffer-Tutorial (5): Verwenden eines Tablets
Verwenden eines Druckers mit Debian 10
Generieren Sie OCI-Architekturdiagramme mithilfe von Diagrammen
Das Bild ist Namekuji
Ein Memorandum zur Verwendung von eigen3
Suchen Sie mit Pythonista3 nach einem Bild von der Kamerarolle
Versuchen Sie, ein neues Bild mit dem trainierten StyleGAN2-Modell zu bearbeiten
Erstellen Sie einen einfachen geplanten Stapel mit Dockers Python Image und parse-crontab
Erstellen Sie ein Docker-Container-Image mit JRE8 / JDK8 unter Amazon Linux