Docker コンテナを使用して JavaEE アプリケーションをデプロイする: Dockerfile を作成してイメージを定義し、イメージを構築し、コンテナを実行してポートをマップし、ブラウザでアプリケーションにアクセスします。サンプル JavaEE アプリケーション: REST API はデータベースと対話し、Docker 経由でデプロイされ、ローカルホストでアクセスできます。
Docker Container を使用して JavaEE アプリケーションをデプロイする
はじめに
Docker は、アプリケーションとそのすべての依存関係をカプセル化し、それらを均一にデプロイできるコンテナ化プラットフォームです。このチュートリアルでは、Docker を使用して JavaEE アプリケーションをコンテナ化してデプロイする方法を説明します。
前提条件
手順
1. Dockerfile を作成する
Dockerfile
ファイル。Docker イメージを定義するために使用されます。 Dockerfile
的文件,用于定义 Docker 镜像。
FROM openjdk:11-jdk COPY target/myapp.war /myapp.war CMD ["java", "-jar", "/myapp.war"]
FROM
指示基础镜像。COPY
复制 JavaEE WAR 文件到容器。CMD
设置容器的默认命令。2. 构建 Docker 镜像
在存储 Dockerfile 的目录中,运行以下命令:
docker image build -t myapp-image .
3. 运行 Docker 容器
构建镜像后,运行以下命令启动容器:
docker container run -p 8080:8080 myapp-image
-p 8080:8080
映射容器的 8080 端口到主机的 8080 端口。4. 测试应用程序
在浏览器中访问 http://localhost:8080/<app-context-path>
。
实战案例
以下是对使用 Docker 部署的示例 JavaEE 应用程序:
一个简单的 REST API,提供与数据库交互的功能。
实现:
@RestController @RequestMapping("/api/data") public class DataController { @Autowired private DataService dataService; @GetMapping public List<Data> getAllData() { return dataService.findAll(); } @PostMapping public Data createData(@RequestBody Data data) { return dataService.save(data); } }
部署:
按照上述步骤使用 Dockerfile
和 Docker compose
rrreee
FROM
はベースイメージを示します。 🎜🎜COPY
JavaEE WAR ファイルをコンテナにコピーします。 🎜🎜CMD
コンテナのデフォルトのコマンドを設定します。 🎜🎜🎜🎜2. Docker イメージをビルドします 🎜🎜🎜 Dockerfile が保存されているディレクトリで次のコマンドを実行します: 🎜rrreee🎜🎜3. Docker コンテナを実行します 🎜🎜🎜 イメージをビルドしたら、次のコマンドを実行します。コンテナを開始します: 🎜rrreee🎜🎜-p 8080:8080 は、コンテナの 8080 ポートをホストの 8080 ポートにマップします。 🎜🎜🎜🎜4. アプリケーションをテストするには、ブラウザで http://localhost:8080/<app-context-path>
にアクセスします。 🎜🎜🎜実際のケース🎜🎜🎜 以下は、Docker を使用してデプロイされた JavaEE アプリケーションのサンプルです。 🎜🎜 データベースと対話する機能を提供する単純な REST API。 🎜🎜実装: 🎜rrreee 🎜デプロイ: 🎜🎜上記の手順に従って、Dockerfile
と Docker compose
を使用してこのアプリケーションを構築し、デプロイします。 🎜以上がDockerコンテナを使用したJavaEEアプリケーションのデプロイの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。