java - Docker Image 未正确启动
问题描述
我正在尝试从 Camunda 工作流引擎运行图像。
我使用了这里的源代码: https ://github.com/camunda/docker-camunda-bpm-platform
我将驱动程序和连接更改为:
ENV DB_DRIVER=com.mysql.jdbc.Driver
ENV DB_URL=jdbc:mysql://xxx.mysql.database.azure.com/camunda;MVCC=TRUE;TRACE_LEVEL_FILE=0;DB_CLOSE_ON_EXIT=FALSE
ENV DB_USERNAME=xxx@mysqlserverforcamunda
ENV DB_PASSWORD=xxxx.
docker build 命令完美运行。
但是,如果我运行 docker run:
docker run -d --name camunda2 -p 8080:8080 -e SKIP_DB_CONFIG=true openjdk:8u191-jre-alpine3.9
注意:我已经提前在 mysql 中创建了所有表,这就是我添加 SKIP DB CONFIG 标志的原因
日志中没有任何内容:
docker logs -f cbcdef0df5a5abe7f9b144e14e04996932696aeca9835f48adcc48854dcf11f8
问题:如何解决发生的问题?真正的错误是什么。?
解决方案
最好在前台运行容器以进行调试和故障排除。
docker run -it --name camunda2 -p 8080:8080 -e SKIP_DB_CONFIG=true openjdk:8u191-jre-alpine3.9
还将建议使用容器名称或容器 ID 检查此特定容器的日志。
docker logs -f camunda2
调试
要在容器内启用 JPDA,您可以在容器启动时设置环境变量
DEBUG=true
。这将允许您连接到端口 8000 上的容器来调试您的应用程序。
更新:
您需要在运行camunda/camunda-bpm-platform
时运行,openjdk:8u191-jre-alpine3.9
并且没有任何东西可以暴露,并且图像仅提供 JDK 平台,因此它会存在,或者如果您在前台运行它,它将进入 shell。
docker run --rm -it --name camunda -p 8080:8080 camunda/camunda-bpm-platform:latest
推荐阅读
- javascript - 如何将 localStorage 中的数据添加到输入框中?
- apache - 如何更改 htaccess 上的根文件
- matlab - 为什么旋转 3D 点云后顶点法线会翻转?
- android - How to read json file from path using kotlin
- r - 增加R中子图标题的字体大小?
- java - 在 Android 中调用隐藏的 API,例如“createCustomCaptureSession”
- html - 如何在 IE 的列中显示 ul 列表?
- python - 将 Numpy 索引数组与 Numba DeviceNDArray 一起使用
- google-cloud-platform - Google Cloud Run 的默认存储空间是什么?
- objective-c - Xcode 没有为 Objective-C 代码正确格式化文档注释