SpringBoot プロジェクトを Docker にデプロイする
調査中に、展開中に常にさまざまな問題が発生することがわかりました。この記事では、操作手順のみが記載されており、原則については説明されていません。展開手順を思い出すためにのみ使用されます。
導入は全部で5つのステップに分かれています!
ステップ 1: SpringBoot プロジェクトを jar パッケージにパッケージ化する
ここでは、アイデアの Maven オプションを使用してパッケージ化します。クリックするだけです。
ステップ 2: Dockerfile を作成する
Dockerfile という名前の新しいファイルを作成します。接尾辞がないことに注意してください。
# 镜像java版本,这里有坑,你可以看着项目里的pom.xml文件确定自己的版本,如果有问题的话多尝试几个
FROM openjdk:17
# VOLUME 指定了临时文件(使用容器卷)目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp。
VOLUME /tmp
# 将jar包添加到容器中并更名为test2.jar
ADD test1-0.0.1-SNAPSHOT.jar test2.jar
# 暴露端口号
EXPOSE 8080
# 容器启动时会运行的命令
ENTRYPOINT ["java","-jar","/test2.jar"]
ここで、私の jar パッケージ名は test1-0.0.1-SNAPSHOT.jar で、test2.jar は新しい名前です (好きな名前を選択できますが、最後の行の最後の "/test2.jar" は、新しい名前)。
他の構成は非常に明確なので、比較に従って変更するだけです。
ステップ 3: SpringBoot jar パッケージと Dockerfile ファイルを Linux システム内の任意のディレクトリに配置します
ここでは Xftp を使用していますが、もちろん、すべて 1 つのフォルダー内で任意の方法を使用できます。
ステップ 4: このフォルダーで次のコマンドを実行して、ミラー イメージを生成します。
docker build . -t test2
test2 は先ほど指定した名前であることに注意してください。ここでは自分の名前を入力する必要があり、真ん中に . ポイントがあることに注意してください。
ステップ 5: SpringBoot プロジェクトの Docker イメージが正常にインストールされたことを確認した後、コマンドを実行して SpringBoot プロジェクトのコンテナー インスタンスを作成します
docker が所有するイメージをローカルで表示するには、次のコマンドを実行します。
docker images
上図はtest2を示しており、インストールは成功していますが、この時点で以下のコマンドによりこのイメージのコンテナインスタンスが作成されます。
docker run -d --name test8080 -p 8080:8080 test2
このうち、test8080 はコンテナに付けた名前、test2 はイメージ名、-p の後の数字はポート番号です。注意してください。
ステップ 6: 上記のすべての手順に問題がない場合は、正常にアクセスできるはずです。問題がある場合は、デプロイメントの問題ではなく、Springboot プロジェクト自体に問題がある可能性があります。 docker コマンドのログを入力して、springboot プロジェクトのエラー情報を表示し、変更を加えることができます。
以下はコンテナログを表示するコマンドです。
docker logs test8080