1

我正在尝试使用 maven 在 docker 上运行 elasticmq。你可以在下面找到我的 docker 配置。而且在/src/main/resources/container/sqs/config文件夹下我有自定义队列配置名称elasticmq.conf

<image>
    <alias>elastic-mq</alias>
    <name>s12v/elasticmq</name>
    <run>
        <ports>${elasticmq.port}:9324</ports>
        <volumes>
            <bind>
                <volume>${project.basedir}/src/main/resources/container/sqs/config/elasticmq.conf:/etc/elasticmq/elasticmq.conf</volume>
            </bind>
        </volumes>
    </run>
    <wait>
        <tcp>
            <host>127.0.0.1</host>
            <ports>
                <port>9324</port>
            </ports>
        </tcp>
    </wait>
</image>

当我运行时,我收到此错误:

[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.22.1:build (start) on project xxx-xxx-xxx: Unable to parse configuration of mojo io.fabric8:docker-maven-plugin:0.22.1:build for parameter wait: Cannot find 'wait' in class io.fabric8.maven.docker.config.ImageConfiguration -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginConfigurationException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :xxx-xxx-xxx

有谁可以解决这个问题或如何正确配置?

4

2 回答 2

0

它固定如下,顺便说一句,我决定使用另一个关于 ElasticMQ 的 docker 镜像。

<image>
    <alias>elastic-mq</alias>
    <name>softwaremill/elasticmq:0.14.6</name>
    <run>
        <ports>
            <port>9324:9324</port>
        </ports>
        <volumes>
            <bind>
                <volume>${project.basedir}/src/main/resources/container/sqs/config/elasticmq.conf:/opt/elasticmq.conf</volume>
            </bind>
        </volumes>
    </run>
</image>
于 2018-10-29T10:01:23.417 回答
0

根据文档,您的<wait>元素应该在 <run>元素内。像这样:

<image>
  <alias>elastic-mq</alias>
  <name>s12v/elasticmq</name>
  <run>
    <ports>${elasticmq.port}:9324</ports>
    <volumes>
      <bind>
        <volume>${project.basedir}/src/main/resources/container/sqs/config/elasticmq.conf:/etc/elasticmq/elasticmq.conf</volume>
      </bind>
    </volumes>
    <wait>
      <tcp>
        <host>127.0.0.1</host>
        <ports>
          <port>9324</port>
        </ports>
      </tcp>
    </wait>
  </run>
</image>
于 2019-11-07T16:32:58.170 回答