この記事の内容は Java プログラムで Docker Image を作成する方法とプロセスに関するものです。必要な方は参考にしていただければ幸いです。
ここでは、Docker イメージを作成するための要件をいくつか示し、その後、その方法を見ていきます。
制作プロセスはプロジェクト構築プロセスに統合する必要があります。
このプラグインの本質は、Dockerfile を作成することです (Dockerfile の具体的な作成方法については、公式ドキュメントを参照してください)。このプラグインは、Docker イメージの構築に役立ついくつかのパラメーターを渡します。
したがって、Dockerfile を作成できる限り、このプラグインを使用することになります。追加の概念は追加されません。
公式イメージをベース イメージとして使用する
openjdk リポジトリには、まばゆいばかりに見えるさまざまなイメージ タグが用意されていますが、本質的にはほんの数個です:
FROM openjdk:8-alpine
サイズに関しては、alpine が最小であり、slim がわずかに大きくなります。 、およびデフォルトの最大値。したがって、プログラムの実行環境に不足がある場合は、できるだけ Alpine バージョンを使用する必要があります。その場合は、スリム バージョンまたはデフォルト バージョンを使用するようにしてください。現在の経験に関して:
オペレーティング システムのフォント ライブラリが必要な場合は、スリム バージョンまたはデフォルト バージョンを使用する必要があります。画像検証コードや PDF エクスポートなど、オペレーティング システムのフォント ライブラリを必要とするプログラム。 ENV TZ=Asia/Shanghai RUN set -eux; \ ln -snf /usr/share/zoneinfo/$TZ /etc/localtime; \ echo $TZ > /etc/timezone
Docker イメージでは、非 root ユーザーを使用してプログラムを起動する必要があり、これには gosu の使用が必要です。
さまざまな基本イメージに応じて、適切なインストール方法を選択してください。
Web プログラムのインターフェイスを指定する
ネットワーク アプリケーションの場合、公開ポートを Dockerfile で指定する必要があります。指定しないと、ポートをマッピングできません。
EXPOSE 8080
Docker イメージを起動するときにいくつかのパラメータを渡せるようにする必要があります:
JVM パラメータ
Java システム プロパティ
プログラム起動パラメータ
これは Dockerfile のベスト プラクティスと Docker ENTRYPOINT を参照する必要があります。
サンプル プロジェクトのソース コードはここにあります: https://github.com/chanjarster/dockerfile-examples/
プログラム関連のものはすべて
/home/java-app//home/java-app ├── docker-entrypoint.sh ├── lib │ └── java-app.jar ├── etc ├── logs └── tmp
docker-entrypoint.sh、起動スクリプト lib、JAR パッケージ ## を保存
mvn clean package dockerfile:build実行通常起動後、
docker run -p 8080:8080 chanjarster/dockerfile-java-examples-1:1.0-SNAPSHOT
JVM_OPTS 環境変数を使用します:
docker run -p 8080:8080 -e JVM_OPTS='-Xmx128M -Xms128M' chanjarster/dockerfile-java-examples-1:1.0-SNAPSHOTシステム プロパティを設定します、
JAVA_ARGS 環境変数を使用します:
docker run -p 8080:8080 -e JAVA_ARGS='-Dabc=xyz -Ddef=uvw' chanjarster/dockerfile-java-examples-1:1.0-SNAPSHOTプログラム実行パラメータを指定します。追加するだけです。後で直接:
docker run -p 8080:8080 chanjarster/dockerfile-java-examples-1:1.0-SNAPSHOT --debug
以上がJavaプログラムを使用してDocker Imageを作成する方法とプロセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。