Ich bin neu in Docker, habe also mit einem sehr grundlegenden Problem zu kämpfen.Schreiben von Dockerfile für Dockerhub Automatisierte Builds
Ich habe ein Maven-Projekt. In der lokalen Umgebung, alles, was ich tun um das Projekt auszuführen ist:
mvn clean package jetty:run
ich jetzt versuchen, dies zu einem Github Repo verknüpft für automatisierte dockerhub Build zu verpacken. Hier sind die Schritte, die ich getroffen haben:
- ein Dockerfile Erstellt wie unten und hinzugefügt, um es an die Basisordner
- den Code Commit
- Erstellt auf GitHub und verknüpfen eine Autobuild-Repo in dockerhub zum Github Repo.
- notwendige Änderungen an den spezifischen Zweig und Dockerfile
Wenn ich eine Änderung begehen zeigen, kann ich sehen, es ein Build löst und die Build erfolgreich ist. Allerdings, wenn ich die Docker Bild laufen, kommt es zurück mit dem folgenden Fehler:
docker: Error response from daemon: Container command 'mvn clean package jetty:run' not found or does not exist..
Hier ist die Ordnerstruktur:
/Dockerfile
/pom.xml
/src/<folders that contain the code>
Hier ist das, was ich in der Dockerfile haben:
FROM maven:3.3.9-jdk-8
CMD ["mvn clean package jetty:run"]
Ich denke, ich verpasse es, eine Kopie des Codes in den Container zu holen. Aber was ist der beste Weg, dies zu tun? Ich habe versucht, den COPY
Befehl, aber ich konnte es nicht funktionieren.
Bitte helfen.
Versuchen Sie, diese Dockerfile https://github.com/carlossg/docker-maven/blob/b022df671b603a9100ed9e75803ae32f753826a4/jdk-8/onbuild/Dockerfile, aber lösche den 'ONBUILD' Teil. –