如何在使用 dockerfile 创建 docker 镜像时将 ActiveMQ Artemis 中的 broker.xml 替换为自定义的 broker.xml?

问题描述 投票:0回答:0

我正在尝试在本地服务器的 ActiveMQ Artemis docker 镜像中实施 SSL 证书。我已经修改了

broker.xml
dockerfile
以实现图像中的更改,但是每当我尝试运行图像时,它都会抛出错误:

CREATE_ARGUMENTS=--user username --password password --silent --require-login --http-host 0.0.0.0 --relax-jolokia
broker already created, ignoring creation
Running sed command
sed: can't read /var/lib/artemis-instance/etc/artemis.profile: No such file or directory

Docker文件:

RUN mkdir /var/lib/artemis-instance
RUN mkdir -p /etc/certs/
RUN chmod 755 /var/lib/artemis-instance
RUN rm -rf /var/lib/artemis-instance/etc/broker.xml; ln -s artemis.profile /var/lib/artemis-instance/etc/artemis.profile
COPY broker.xml /var/lib/artemis-instance/etc/broker.xml
COPY ./docker-run.sh /

broker.xml
(仅在受体中发生变化):

            <!-- STOMP Acceptor. -->
            <acceptor name="stomp">tcp://0.0.0.0:61613?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=STOMP;useEpoll=true</acceptor>

            <!-- HornetQ Compatibility Acceptor.  Enables HornetQ Core and STOMP for legacy HornetQ clients. -->
            <acceptor name="hornetq">tcp://0.0.0.0:5445?anycastPrefix=jms.queue.;multicastPrefix=jms.topic.;protocols=HORNETQ,STOMP;useEpoll=true</acceptor>

            <!-- MQTT Acceptor -->
            <acceptor name="mqtt">tcp://0.0.0.0:1883?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=MQTT;useEpoll=true;sslEnabled=true;keyStorePath=/var/lib/artemis-instance/etc/certs/;keyStorePassword=password;needClientAuth=true </acceptor>
        </acceptors>
docker dockerfile mqtt activemq-artemis on-premises-instances
© www.soinside.com 2019 - 2024. All rights reserved.