当我为只包含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>
它工作得很好。所以我有两个不同的问题:
- 为什么它在没有等待预期时间的情况下崩溃
- 我如何使它与我想要的字符串一起工作
非常感谢。
在我的例子中,如果我将<log>
模式封装在CDATA
块中,它就会起作用,如下所示:
<log><![CDATA[
port: 3306 MySQL Community Server - GPL
]]>
</log>
<time>30000</time>
我加了30秒的超时时间以防万一。默认超时仅为10秒。
希望它能有所帮助!