Erstellt eine Umgebung, in der Kotlin mit Docker mit CLI kompiliert und mit Java ausgeführt werden kann

Ich wollte Kotlin zum ersten Mal studieren, aber ich mochte es nicht, den Kotlin-Compiler auf meinem Mac zu haben, also habe ich ein Set mit Docker Compose erstellt. Ich gehe nicht davon aus, dass ich ein Build-Tool verwenden werde, aber ich habe es basierend auf dem Konzept der Vorbereitung einer Umgebung erstellt, in der Sie überprüfen können, während Sie die einfache Syntax von Kotlin ausführen. Wenn Sie es brauchen, beziehen Sie sich bitte darauf.

Was wurde gemacht

./docker-compose.yml

version: "3.7"

services: 
  java:
    build: ./docker/java
    tty: true
    volumes:
      - ./src:/usr/local/src

./docker/java/Dockerfile

FROM openjdk:13-slim

RUN apt-get update && apt-get install -y git \
    unzip \
    zip \
    curl \
    vim
    
WORKDIR /usr/local/src
RUN curl -s https://get.sdkman.io | bash 
RUN /bin/bash -l -c "chmod a+x $HOME/.sdkman/bin/sdkman-init.sh;$HOME/.sdkman/bin/sdkman-init.sh;sdk install kotlin"

CMD ["/bin/bash"]

Die Verzeichnisstruktur ist wie folgt

.
├── docker
│   └── java
│       └── Dockerfile
├── docker-compose.yml
└── src
    └── test.kt

Wie benutzt man

Vorbereitung

Führen Sie einfach den folgenden Befehl in dem Verzeichnis aus, in dem sich docker-compose.yml befindet.

$ docker-compose build
$ docker-compose up

Bewegung

Kompilieren Sie test.kt und führen Sie es mit dem Befehl java aus. Das zu kompilierende Ziel ist . / Src / test.kt.

fun main(args: Array<String>) {
    println("Hello, World!")
}

Geben Sie den Container ein, kompilieren Sie ihn und führen Sie ihn aus.

$ docker-compose exec java bash
root@3b62768acd0b:/usr/local/src# kotlinc test.kt -include-runtime -d test.jar
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
root@3b62768acd0b:/usr/local/src# java -jar test.jar
Hello, World!
root@3b62768acd0b:/usr/local/src#

Ich erhalte die Warnung, dass "-Xverify: none" nutzlos ist, aber ich konnte es mit dem Java-Befehl kompilieren und ausführen.

Da / usr / local / src volumenmontiert ist, kann die nach dem Kompilieren erstellte JAR-Datei auch im Dateisystem des Host-Computers bestätigt werden.

.
├── docker
│   └── java
│       └── Dockerfile
├── docker-compose.yml
└── src
    ├── test.jar
    └── test.kt

schließlich

Während Sie weiter lernen, möchten Sie möglicherweise das Build-Tool verwenden, und es können verschiedene Unannehmlichkeiten auftreten, aber sobald die Umgebung bereit ist, möchte ich immer mehr lernen!

Recommended Posts

Erstellt eine Umgebung, in der Kotlin mit Docker mit CLI kompiliert und mit Java ausgeführt werden kann
Erstellen Sie eine Umgebung, in der CircleCI lokal mit Windows 10 + WSL2 (Ubuntu) + Docker ausgeführt werden kann
Bereiten Sie eine Scraping-Umgebung mit Docker und Java vor
Stellen Sie die Sensorinformationen von Raspberry Pi grafisch dar und bereiten Sie eine Umgebung vor, die mit einem Webbrowser überprüft werden kann
Probleme, die leicht mit Java und JavaScript verwechselt werden können
Syntax- und Ausnahmebedingungen, die beim Vergleich mit null in Java verwendet werden können
Erstellen Sie eine Umgebung, in der pip3 mit CentOS7 + Python3 verwendet werden kann
Erstellen Sie mit Docker CE für Windows eine Webanwendungsentwicklungsumgebung, die Java, MySQL und Redis verwendet
Einfache Implementierung eines Spielautomaten, die mit Kopie verwendet werden kann
Tools zur Leistungsanalyse und Fehlerdiagnose, die mit OpenJDK verwendet werden können
Erstellen einer Rails 6- und PostgreSQL-Umgebung mit Docker
Erstellen Sie eine Umgebung mit Docker unter AWS
Installieren Sie Docker und erstellen Sie eine Java-Ausführungsumgebung
Ein Memo, in dem Ubuntu 20.4 auf HP Z2 Mini G4 installiert und mit Python Docker eine Deep Learning-Umgebung erstellt wurde
Erstellen Sie eine ARM-CPU-Umgebung mit qemu auf dem Mac und führen Sie Java aus [Ergebnis → Fehler]
Erstellen Sie mit Docker eine Apache- und Tomcat-Umgebung. Übrigens Maven & Java Kooperation
Überprüfen Sie mit Java / Kotlin, ob Dateien unter Windows nicht in die Benutzerkontensteuerung geschrieben werden können
Machen Sie die SpringBoot1.5 + Gradle4.4 + Java8 + Docker-Umgebung mit Java11 kompatibel
Erstellen Sie eine E2E-Testumgebung mit Selenium (Java).
Sie können @Param mit Kotlin 1.1 und MyBatis 3.4.1+ eliminieren! !!
[Rails] So erstellen Sie eine Umgebung mit Docker
Schreiben einer Klasse, die in Java bestellt werden kann Ein kleines Standard-Memo
Erstellen Sie mit Docker eine Ruby2.7.x + Rails6.0.x + MySQL8.0.x-Umgebung
Erstellen Sie mit Docker x Cypress eine E2E-Testumgebung
Spielen Sie mit Java-Funktionsknoten, die Java mit Node-RED verwenden können
[Hinweis] Erstellen Sie mit Docker eine Java-Umgebung von Grund auf neu
Ich möchte Bildschirmübergänge mit Kotlin und Java machen!
Bereiten Sie die Umgebung für Java11 und JavaFx mit Ubuntu 18.4 vor
Erstellen einer kompakten Java-Umgebung, die unter Docker ausgeführt wird
[Java 8] Sortiermethode in alphabetischer Reihenfolge und Reihenfolge der Zeichenkettenlänge, die für Codierungstests verwendet werden kann
Wir haben Easy Markdown verbessert und ein Docker-Image vorbereitet, das sofort erstellt werden kann.
Starten Sie jnlp, das abgelaufen ist und ohne Java Web Start nicht mehr gestartet werden kann
So ändern Sie die Java-Version und führen sie in einer Umgebung aus, in der Java nicht frei installiert werden kann