{"id":21542405,"url":"https://github.com/kool-dev/docker-java","last_synced_at":"2026-03-19T20:49:06.020Z","repository":{"id":38275289,"uuid":"307866858","full_name":"kool-dev/docker-java","owner":"kool-dev","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-10T01:57:25.000Z","size":68,"stargazers_count":1,"open_issues_count":5,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-24T08:43:31.288Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kool-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-28T00:51:38.000Z","updated_at":"2023-05-07T11:25:47.000Z","dependencies_parsed_at":"2025-01-24T08:41:11.765Z","dependency_job_id":"34f1f893-f6ee-4562-8689-9ba41bbaea40","html_url":"https://github.com/kool-dev/docker-java","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kool-dev%2Fdocker-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kool-dev%2Fdocker-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kool-dev%2Fdocker-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kool-dev%2Fdocker-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kool-dev","download_url":"https://codeload.github.com/kool-dev/docker-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244130281,"owners_count":20402753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T05:09:30.886Z","updated_at":"2026-01-04T12:02:30.617Z","avatar_url":"https://github.com/kool-dev.png","language":"Dockerfile","readme":"![CI/CD](https://github.com/kool-dev/docker-java/workflows/CI/CD/badge.svg)\n\n## Description\n\nMinimal Java Docker image focused on Java applications based on [Amazon Corretto](https://github.com/corretto/corretto-docker). It's use is intended for [kool.dev](https://github.com/kool-dev/kool), but can fit in any other Java use-case.\n\nAutomatically load classpath in applications using **maven** or **gradle** architecture.\n\n## Available Tags\n\nThe image built is [`kooldev/java`](https://hub.docker.com/r/kooldev/java/tags?page=1\u0026ordering=last_updated) which has a bunch of tags available:\n\n### 16\n\n- [16](https://github.com/kool-dev/docker-java/blob/master/16/Dockerfile)\n- [16-prod](https://github.com/kool-dev/docker-java/blob/master/16-prod/Dockerfile)\n\n### 15\n\n- [15](https://github.com/kool-dev/docker-java/blob/master/15/Dockerfile)\n- [15-prod](https://github.com/kool-dev/docker-java/blob/master/15-prod/Dockerfile)\n\n### 11\n\n- [11](https://github.com/kool-dev/docker-java/blob/master/11/Dockerfile)\n- [11-prod](https://github.com/kool-dev/docker-java/blob/master/11-prod/Dockerfile)\n\n### 8\n\n- [8](https://github.com/kool-dev/docker-java/blob/master/8/Dockerfile)\n- [8-prod](https://github.com/kool-dev/docker-java/blob/master/8-prod/Dockerfile)\n\n## Environment Variables\n\nVariable | Default Value | Description\n--- | --- | ---\n**ASUSER** | `0` | Changes the user id that executes the commands\n**UID** | `0` | Changes the user id that executes the commands **(ignored if ASUSER is provided)**\n**VM_OPTIONS_XMS** | `256m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_XMX** | `256m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_MAX_METASPACE_SIZE** | `256m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_PERM_SIZE** | `512m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_XMN** | `64m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_SURVIVOR_RATIO** | `128` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**CMS_TRIGGER_PERCENT** | `70` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**JVM_FILE_ENCODING** | `UTF-8` | See [Java Documentations](https://docs.oracle.com/javame/config/cdc/cdc-opt-impl/ojmeec/1.0/runtime/html/localization.htm) \n**JVM_TTL** | `60` | See [Java Documentations](https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html)\n**JVM_USER_LANGUAGE** | `en` | See [Java Documentations](https://docs.oracle.com/javame/config/cdc/cdc-opt-impl/ojmeec/1.0/runtime/html/localization.htm) \n**JVM_USER_COUNTRY** | `US` | See [Java Documentations](https://docs.oracle.com/javame/config/cdc/cdc-opt-impl/ojmeec/1.0/runtime/html/localization.htm)\n**TZ** | | Set default Timezone\n**JAVA_OPTIONS** | | Additional Java Options \n**RMI_SERVER_HOSTNAME** | | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/guides/rmi/javarmiproperties.html)\n**JVM_JMXREMOTE_PORT** | | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html)\n**JVM_JMXREMOTE_AUTHENTICATE** | | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html)\n**JVM_JMXREMOTE_SSL** | | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html)\n**DEBUG_PORT** | `9000` | Debug port\n**DEBUG_SUSPEND** | `n` | Suspend debug to waiting attached\n**CLASSPATH** | | Custom classpath, bay default defined by **maven** or **gradle** architecture \n**MAIN_CLASS** | | Class main, required by execute \n\n### PROD\n\nVariable | Default Value | Description\n--- | --- | ---\n**ASUSER** | `0` | Changes the user id that executes the commands\n**UID** | `0` | Changes the user id that executes the commands **(ignored if ASUSER is provided)**\n**VM_OPTIONS_XMS** | `256m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_XMX** | `256m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_MAX_METASPACE_SIZE** | `256m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_PERM_SIZE** | `512m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_XMN** | `64m` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**VM_OPTIONS_SURVIVOR_RATIO** | `128` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**CMS_TRIGGER_PERCENT** | `70` | See [Java Documentations](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html)\n**JVM_FILE_ENCODING** | `UTF-8` | See [Java Documentations](https://docs.oracle.com/javame/config/cdc/cdc-opt-impl/ojmeec/1.0/runtime/html/localization.htm)\n**JVM_TTL** | `60` | See [Java Documentations](https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html)\n**JVM_USER_LANGUAGE** | `en` | See [Java Documentations](https://docs.oracle.com/javame/config/cdc/cdc-opt-impl/ojmeec/1.0/runtime/html/localization.htm)\n**JVM_USER_COUNTRY** | `US` | See [Java Documentations](https://docs.oracle.com/javame/config/cdc/cdc-opt-impl/ojmeec/1.0/runtime/html/localization.htm)\n**TZ** | | Set default Timezone\n**JAVA_OPTIONS** | | Additional Java Options\n**JAR_FILE** | `/app/application.jar` | Jar file you application\n\n## Usage\n\nThe developer version, you need mount your volume to maven and gradle.\n\n- $HOME/.kool/m2:/home/kool/.m2\n- $HOME/.kool/gradle:/home/kool/.gradle\n\n### With `kool`:\n\nIn your application directory:\n\n```shell\nkool docker -e MAIN_CLASS=your.package.MainClass kooldev/java:8\n```\n\nTo production version:\n\n```shell\nkool docker -e JAR_FILE=yout_application.jar kooldev/java:8-prod\n```\n\nExecute Jshell:\n\n```shell\nkool docker kooldev/java:11 jshell\n```\n\n### With `docker run`:\n\n```sh\ndocker run -it --rm kooldev/java:11 jshell\n```\n\n### With `docker-compose.yml`:\n\n```yaml\napp:\n  image: kooldev/java:8\n  volumes:\n    - \".:/app:cached\"\n    - \"$HOME/.ssh/id_rsa:/home/developer/.ssh/id_rsa:cached\"\n  environment:\n    ASUSER: \"${$UID}\"\n```\n\n## Contributing\n\n### Update images with templates\n\nYou should change `fwd-template.json` for configuration and `template` folder for the actual base templates.\n\nAfter any changes, we need to run `kool run template` to parse the templates and generate all versions folder/files.\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE.md) for more information.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkool-dev%2Fdocker-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkool-dev%2Fdocker-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkool-dev%2Fdocker-java/lists"}