


La méthode et le processus de création d'une image Docker à l'aide du programme Java
Le contenu de cet article concerne la méthode et le processus de création d'une image Docker avec le programme Java. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Exigences
Voici quelques exigences pour la production d'images Docker, puis nous verrons comment le faire.
Le processus de production doit être intégré au processus de construction du projet
Utiliser l'image officielle comme image de base
Définir le fuseau horaire correct
Le programme dans le conteneur est démarré en tant qu'utilisateur non root
Spécifiez l'interface du programme Web
Capable de transmettre les paramètres JVM, les propriétés du système Java et les paramètres définis par le programme
Parlons de la façon de faire le ci-dessus en détail :
Le processus de production doit être intégré au processus de construction du projet
Il est recommandé d'utiliser le dockerfile-maven-plugin de Spotify car ce plugin est le plus simple à utiliser et facile à maîtriser .
L'essence de ce plugin est que vous écrivez un Dockerfile (veuillez vous référer à la documentation officielle pour la méthode d'écriture spécifique de Dockerfile. Ce plugin transmet certains paramètres pour vous aider à créer une image Docker).
Donc, tant que vous pouvez écrire Dockerfile, vous utiliserez ce plugin. Il n'ajoute aucun concept supplémentaire.
Utilisez l'image officielle comme image de base
L'image de base de Java doit être trouvée dans le référentiel openjdk, pas dans le référentiel Java obsolète.
Le référentiel openjdk fournit une variété de balises d'image qui peuvent sembler éblouissantes, mais il n'y en a essentiellement que quelques-unes :
openjdk:<version>
openjdk:<version>-slim
openjdk:<version>-alpine
Concernant <version>
, d'une manière générale, spécifiez simplement un numéro de version plus grand. Par exemple, vous pouvez écrire ceci dans le Dockerfile :
FROM openjdk:8-alpine
En termes de taille, alpine est le plus petit, slim est légèrement plus grand et la valeur par défaut. est le plus grand. Par conséquent, vous devez utiliser la version alpine autant que possible. Si vous constatez que l'environnement d'exécution du programme manque de quelque chose, essayez d'utiliser la version slim ou la version par défaut. En termes d'expérience actuelle :
Si vous avez besoin de la bibliothèque de polices du système d'exploitation, vous devez utiliser la version slim ou la version par défaut. Programmes nécessitant des bibliothèques de polices du système d'exploitation telles que les codes de vérification d'image et l'exportation PDF.
Si vous avez besoin de bibliothèques de liens dynamiques/statiques standard Linux, alors si la version alpine ne fonctionne pas, essayez la version slim ou la version par défaut. Parce que la version alpine est un Linux extrêmement simplifié, elle supprime beaucoup de choses.
Définissez le fuseau horaire correct
Le fuseau horaire de presque toutes les images Docker est UTC. Nous devons définir le fuseau horaire de l'image Docker que nous avons créée :
ENV TZ=Asia/Shanghai RUN set -eux; \ ln -snf /usr/share/zoneinfo/$TZ /etc/localtime; \ echo $TZ > /etc/timezone
EXPOSE 8080
- Paramètres JVM
- Propriétés du système Java
- Paramètres de démarrage du programme
: /home/java-app/
/home/java-app ├── docker-entrypoint.sh ├── lib │ └── java-app.jar ├── etc ├── logs └── tmp
mvn clean package dockerfile:build
: http://localhost:8080
docker run -p 8080:8080 chanjarster/dockerfile-java-examples-1:1.0-SNAPSHOT
variables d'environnement : JVM_OPTS
docker run -p 8080:8080 -e JVM_OPTS='-Xmx128M -Xms128M' chanjarster/dockerfile-java-examples-1:1.0-SNAPSHOT
variables d'environnement : JAVA_ARGS
docker run -p 8080:8080 -e JAVA_ARGS='-Dabc=xyz -Ddef=uvw' chanjarster/dockerfile-java-examples-1:1.0-SNAPSHOT
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Il existe de nombreuses façons d'installer Deepseek, notamment: Compiler à partir de Source (pour les développeurs expérimentés) en utilisant des packages précompilés (pour les utilisateurs de Windows) à l'aide de conteneurs Docker (pour le plus pratique, pas besoin de s'inquiéter de la compatibilité), quelle que soit la méthode que vous choisissez, veuillez lire Les documents officiels documentent soigneusement et les préparent pleinement à éviter des problèmes inutiles.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Java Made Simple : Guide du débutant sur la puissance de programmation Introduction Java est un langage de programmation puissant utilisé dans tout, des applications mobiles aux systèmes d'entreprise. Pour les débutants, la syntaxe de Java est simple et facile à comprendre, ce qui en fait un choix idéal pour apprendre la programmation. Syntaxe de base Java utilise un paradigme de programmation orienté objet basé sur les classes. Les classes sont des modèles qui organisent ensemble les données et les comportements associés. Voici un exemple simple de classe Java : publicclassPerson{privateStringname;privateintage;
