[JAVA] Erstellen Sie einen Docker-Container, um EPS in eine PGF-Quelle zu konvertieren

Im vergangenen Jahr kündigte Herr Kano von Lambda Note TeXConf 2018 und TeX & LaTeX Adventskalender 2018 an. EPS in einer modernen TeX-Umgebung in Artikel von Tag 4 von //adventar.org/calendars/3382) Er erwähnte, wie man Dateien benutzt.

In diesem Artikel wurde ein Tool namens ** eps2pgf ** vorgestellt.

Einige Leute denken dasselbe und andere haben bereits ein von Java erstelltes Konvertierungstool namens ** eps2pgf ** (Referenz erstellt. )). Derzeit ist es auf Sourceforge veröffentlicht, aber es gibt keine Quelle, und es scheint, dass es nicht gepflegt wird, aber vorerst habe ich es heruntergeladen und verwendet und einige zufriedenstellende Ergebnisse erzielt.

Dieses Tool namens eps2pgf ist ein Java-Tool vor mehr als 10 Jahren (es war August 2008, als Sie sich das Aktualisierungsdatum angesehen haben), aber jetzt ist es Status. : Abandoned und die Entwicklung scheint lange aufgehört zu haben. Obwohl es sich um eine Apache-Lizenz handelt, fehlt die Quelle.

Es ist jedoch immer noch ein sehr nützliches Tool (ich bin froh, EPS in eine PGF-Quelle konvertieren zu können Artikel von Herrn Kano / 183000)). Die Installation der JVM nur für diesen Zweck ist jedoch mühsam. Daher habe ich einen Docker-Container erstellt, der die JVM und dieses Tool enthält.

Welches als Java Docker-Image auswählen?

Docker Hub hat viele offizielle Java-Images (JRE, JDK), und ich frage mich, welches ich wählen soll. Im nächsten Artikel wurden alle Funktionen und Auswahlkriterien auf leicht verständliche Weise zusammengefasst.

Diesmal,

damit,

Ich habe mich für das openjdk: 8-jre-alpine entschieden.

Wie benutzt man

Das fertige Bild wurde als doratex / eps2pgf in Docker Hub hochgeladen.

$ docker pull doratex/eps2pgf

Dann kannst du ziehen.

Da / workdir das Arbeitsverzeichnis im Container ist, wird davon ausgegangen, dass es gebunden und mit dem aktuellen Verzeichnis verwendet wird.

alias eps2pgf="docker run --rm \
  --mount type=bind,src=\"\$(pwd)\",dst=/workdir \
  doratex/eps2pgf"

Es ist einfacher, wenn Sie einen Alias wie festlegen. Da das Wrapper-Skript von "eps2pgf.jar" als "ENTRYPOINT" des Docker-Images angegeben ist, wird unter diesem Alias festgelegt.

$ eps2pgf tiger.eps -o tiger.pgf

Sie können beispielsweise EPS-Platten in PGF-Quellen konvertieren.

Handbuch

Die Originaldokumentation "eps2pgf.jar" ist im SourceForge Repository-Archiv (https://sourceforge.net/projects/eps2pgf/) verfügbar. Es wird also auch in / eps2pgf / doc / im Docker-Container aufgezeichnet

$ docker run --rm \
  --mount type=bind,src="$(pwd)",dst=/workdir \
  --entrypoint /bin/cp \
  doratex/eps2pgf \
  -p /eps2pgf/doc/eps2pgf_manual.pdf .

Sie können es auch als solches in das aktuelle Verzeichnis abrufen.

Dockerfile

Die Docker-Datei, die zum Erstellen dieses Bildes vorbereitet wurde, lautet wie folgt.

Dockerfile


FROM openjdk:8-jre-alpine

LABEL maintainer="doraTeX <taylorkgb [at] gmail.com>"

WORKDIR /workdir

RUN apk upgrade --update && \
    mkdir /eps2pgf && \
    cd /eps2pgf && \
    wget -q https://excellmedia.dl.sourceforge.net/project/eps2pgf/Eps2pgf/Eps2pgf%200.7.0/eps2pgf-0.7.0.zip && \
    unzip eps2pgf-0.7.0.zip && \
    rm eps2pgf-0.7.0.zip && \
    cd /usr/local/bin && \
    printf "%s\n" \
      "#!/bin/sh" \
      "java -jar /eps2pgf/eps2pgf.jar \"\$@\"" \
      > eps2pgf && \
    chmod +x eps2pgf

ENTRYPOINT ["eps2pgf"]

Recommended Posts

Erstellen Sie einen Docker-Container, um EPS in eine PGF-Quelle zu konvertieren
So erhalten Sie einen Heapdump aus einem Docker-Container
Ich habe einen Docker-Container erstellt, um Maven auszuführen
So erstellen Sie eine Methode
So erstellen Sie ein leichtes Container-Image für Java-Apps
Ich habe versucht, mit Docker eine Padrino-Entwicklungsumgebung zu erstellen
Erstellen Sie mit Docker eine Vue3-Umgebung!
Einführung in Linux Container / Docker (Teil 1)
So erstellen Sie einen Java-Container
Einführung in Linux Container / Docker (Teil 2)
Führen Sie PureScript auf einem Docker-Container aus
Erstellen wir einen Docker-Container, der SSH auf die Mindestkonfiguration von CentOS 8 ausführen kann
Versuchen Sie, eine Server-Client-App zu erstellen
Verwenden Sie Jenkins, um in Docker zu erstellen und dann ein Docker-Image zu erstellen.
[Docker] So erstellen Sie eine virtuelle Umgebung für Rails- und Nuxt.js-Apps
[Docker] Erstellen, wenn der Quellcode auf dem Container gebunden ist
So starten Sie einen Docker-Container mit einem in einer Batchdatei bereitgestellten Volume
Erstellen Sie mit Docker schnell eine Webumgebung
Docker Push zur GitHub Container Registry (ghcr.io)
So erstellen Sie ein Maven-Repository für 2020
[Docker] Kopieren Sie Dateien aus dem Docker-Container auf den Host
Docker Container Build kann PHP-Radis nicht installieren
Einführung in die praktische Containerentwicklung von Docker / Kubernetes
[Swift5] So erstellen Sie einen Begrüßungsbildschirm
[Rails] So erstellen Sie eine Teilvorlage
Docker Compact Manual (4: Erstellen eines benutzerdefinierten Bildes)
Fehlerantwort vom Daemon: Konflikt: Ein Konflikt ist aufgetreten, als ich versucht habe, einen Docker-Container zu erstellen, also die Lösung
Ich habe versucht, ein Portfolio mit AWS, Docker, CircleCI, Laravel [mit Referenzlink] zu erstellen.
So erstellen Sie ein kleines Docker-Image der openjdk 11 (ea) -Anwendung (1 GB → 85 MB)
[Erste Umgebungskonstruktion] Ich habe versucht, eine Rails6 + MySQL8.0 + Docker-Umgebung unter Windows 10 zu erstellen.
Bis zum Start eines Docker-Containers, der mit RedHat Quarkus erstellt wurde
Erstellen Sie eine Entwicklungsumgebung, um Ruby on Jets + React-Apps mit Docker zu erstellen
[Einführung in Docker] Erstellen Sie ein Docker-Image für maschinelles Lernen und verwenden Sie das Jupyter-Notizbuch
So erstellen Sie überall eine H2-Datenbank
[Memo] Erstellen Sie mit Docker ganz einfach eine CentOS 8-Umgebung
So überprüfen Sie das Protokoll im Docker-Container
[Android] Erstellen Sie eine neue Klasse, indem Sie ImageView erben
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
[Android] So konvertieren Sie eine Zeichenfolge in resourceId
Konvertieren Sie eine Zeichenfolge mit swift in ein zeichenweises Array
Einstellung zum Verlassen des Docker-Containers mit VScode
Kopieren Sie Dateien vom Docker-Container auf den Host (Docker-CP).
So erstellen Sie eine Klasse, die Klasseninformationen erbt
So konvertieren Sie einen Soliditätsvertrag in eine Java-Vertragsklasse
Ich habe versucht, eine LINE-Klon-App zu erstellen
So aktualisieren Sie eine vorgefertigte Datei in einem Docker-Container
So erstellen Sie ein Thema in Liferay 7 / DXP