Diferència entre revisions de la pàgina «Java amb Docker: HelloWorld»
Salta a la navegació
Salta a la cerca
(Es crea la pàgina amb «__TOC__ =Introducció= Seguim aquest tutorial: *https://dzone.com/articles/run-simple-jar-application-in-docker-container-1 =Aplicació Java= script ''HelloWorld.java'...».) |
m |
||
| (Hi ha una revisió intermèdia del mateix usuari que no es mostren) | |||
| Línia 27: | Línia 27: | ||
</pre> | </pre> | ||
Ara tenim els següents fitxers: | Ara tenim els següents fitxers: | ||
| − | < | + | <pre> |
$ ls HelloWorld.* | $ ls HelloWorld.* | ||
HelloWorld.class HelloWorld.jar HelloWorld.java | HelloWorld.class HelloWorld.jar HelloWorld.java | ||
| Línia 69: | Línia 69: | ||
helloworld latest 639ac287c3a3 23 minutes ago 467MB | helloworld latest 639ac287c3a3 23 minutes ago 467MB | ||
... | ... | ||
| − | openjdk | + | openjdk 16 c644efd24273 9 days ago 660MB |
Revisió de 15:34, 11 juny 2022
Introducció
Seguim aquest tutorial:
Aplicació Java
script HelloWorld.java:
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World :) ");
}
}
Compilem:
$ javac HelloWorld.java
fitxer manifest.txt: (potser no cal?)
Manifest-Version: 1.0 Created-By: Me Main-Class: HelloWorld
Generem el jar:
$ jar cfm HelloWorld.jar manifest.txt HelloWorld.class
Ara tenim els següents fitxers:
$ ls HelloWorld.* HelloWorld.class HelloWorld.jar HelloWorld.java
I amb el jar ja podem executar l'aplicació:
$ java -jar HelloWorld.jar Hello World :)
Docker de l'aplicació
El meu Dockerfile queda de la següent manera:
FROM openjdk:16 WORKDIR / ADD HelloWorld.jar HelloWorld.jar CMD java -jar HelloWorld.jar
Canvis que he fet: jo he compilat la meva aplicació amb OpenJDK 16, i per tant he de fer servir un docker com a punt de partida amb la mateixa versió. No cal el EXPOSE 8080.
Creem el docker:
$ docker build -t helloworld . Sending build context to Docker daemon 7.168kB Step 1/5 : FROM openjdk:16 16: Pulling from library/openjdk 58c4eaffce77: Pull complete e6a22c806ee8: Pull complete d14afce73328: Pull complete Digest: sha256:bb68f084c2000c8532b1675ca7034f3922f4aa10e9c7126d29551c0ffd6dee8f Status: Downloaded newer image for openjdk:16 ... Successfully built 639ac287c3a3 Successfully tagged helloworld:latest
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE helloworld latest 639ac287c3a3 23 minutes ago 467MB ... openjdk 16 c644efd24273 9 days ago 660MB
Finalment, puc executar la meva aplicació a través del docker:
$ docker run helloworld Hello World :)
creat per Joan Quintana Compte, maig 2022