docker-maven插件等待日志



当我为只包含db图像的docker-compose.yml进行docker组合时

version: '3.3'
services:
db_stations:
image: mysql:5.7
...

我可以看到以下日志:

...
db_stations_1  | 2022-02-03T21:54:04.688034Z 0 [Note] Event Scheduler: Loaded 0 events
db_stations_1  | 2022-02-03T21:54:04.688369Z 0 [Note] mysqld: ready for connections.
...

因此,当我运行服务时使用docker-maven插件来提升docker时,我有以下配置:

<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.38.1</version>
<configuration>
<images>
<image>
<alias>stations_db</alias>
<name>mysql:5.7</name>
<run>
<wait>
<log>ready for connections</log>
<time>5000</time>
</wait>
</run>
</image>
</images>
</configuration>
<executions>
...

它与[错误]无法执行目标io。fabric8:docker-maven插件:0.38.1:在项目站上启动(启动(服务:I/O错误:[mysql:5.7]"stations_db":在等待注销"准备连接"时,容器在512毫秒后意外停止,退出代码为1->[帮助1]

不是等待50000ms崩溃的事件。奇怪的是,如果我更改日志标签如下:

<log>a</log> 

它工作得很好。所以我有两个不同的问题:

  1. 为什么它在没有等待预期时间的情况下崩溃
  2. 我如何使它与我想要的字符串一起工作

非常感谢。

在我的例子中,如果我将<log>模式封装在CDATA块中,它就会起作用,如下所示:

<log><![CDATA[
port: 3306  MySQL Community Server - GPL
]]>
</log>
<time>30000</time>

我加了30秒的超时时间以防万一。默认超时仅为10秒。

希望它能有所帮助!

相关内容

  • 没有找到相关文章

最新更新