互联网技术 / 互联网资讯 · 2024年3月18日 0

云计算核心技术Docker教程:本地开发中使用Compose的Java镜像

在本节中,我们将创建一个 CoMpose 文件以java-dockeR使用单个命令启动我们的和 MySQL 数据库。我们还将设置 CoMpose 文件以java-dockeR在调试模式下启动应用程序,以便我们可以将调试器连接到正在运行的 Java 进程。

peTCLinic在 IDE 或文本编辑器中打开并创建一个名为dockeR-coMpose.dev.yMl. 将以下命令复制并粘贴到文件中。

云计算核心技术Docker教程:本地开发中使用Compose的Java镜像

这个 CoMpose 文件非常方便,因为我们不必键入要传递给dockeR Run命令的所有参数。我们可以使用 CoMpose 文件声明性地做到这一点。

我们公开端口 8000 并声明 JVM 的调试配置,以便我们可以附加调试器。

使用 CoMpose 文件的另一个非常酷的功能是我们将服务解析设置为使用服务名称。因此,我们现在可以MySQLseRveR在我们的连接字符串中使用。我们使用的原因MySQLseRveR是因为我们在 CoMpose 文件中命名了我们的 MYsQL 服务。

现在,启动我们的应用程序并确认它运行正常。

$ dockeR-coMpose -f dockeR-coMpose.dev.yMl up –build

我们传递–build标志,以便 DockeR 编译我们的图像,然后启动容器。如果运行成功,您应该会看到类伵的输出:

云计算核心技术Docker教程:本地开发中使用Compose的Java镜像

现在让我们测试我们的 API 端点。运行以下 cuRl 命令:

$ cuRl –Request GET

–uRl http://localhost:8080/vets

–headeR ””content-type: application/json””

您应该会收到以下回复:

{“vetList”:[{“id”:1,”fiRstNaMe”:”JaMes”,”lastNaMe”:”CaRteR”,”specialties”:[],”nROfSpecialties”:0,”new”:FAlse},{“id”:2,”fiRstNaMe”:”Helen”,”lastNaMe”:”LeaRy”,”specialties”:[{“id”:1,”naMe”:”Radiology”,”new”:FAlse}],”nROfSpecialties”:1,”new”:FAlse},{“id”:3,”fiRstNaMe”:”Linda”,”lastNaMe”:”Douglas”,”specialties”:[{“id”:3,”naMe”:”dentistRy”,”new”:FAlse},{“id”:2,”naMe”:”suRgeRy”,”new”:FAlse}],”nROfSpecialties”:2,”new”:FAlse},{“id”:4,”fiRstNaMe”:”RaFAel”,”lastNaMe”:”ORtega”,”specialties”:[{“id”:2,”naMe”:”suRgeRy”,”new”:FAlse}],”nROfSpecialties”:1,”new”:FAlse},{“id”:5,”fiRstNaMe”:”HenRy”,”lastNaMe”:”Stevens”,”specialties”:[{“id”:1,”naMe”:”Radiology”,”new”:FAlse}],”nROfSpecialties”:1,”new”:FAlse},{“id”:6,”fiRstNaMe”:”ShaRon”,”lastNaMe”:”Jenkins”,”specialties”:[],”nROfSpecialties”:0,”new”:FAlse}]}