启动 ActiveMQ 5.15.9 时发出警告 Docker
WARN when starting ActiveMQ 5.15.9 Docker
我正在尝试使用 Docker 图像启动 ActivemQ。
这是我的 ActiveMQ docker文件
FROM openjdk:8-jre
ENV ACTIVEMQ_VERSION 5.15.9
ENV ACTIVEMQ apache-activemq-$ACTIVEMQ_VERSION
ENV ACTIVEMQ_TCP=61616 ACTIVEMQ_AMQP=5672 ACTIVEMQ_STOMP=61613 ACTIVEMQ_MQTT=1883 ACTIVEMQ_WS=61614 ACTIVEMQ_UI=8161
ENV ACTIVEMQ_HOME /opt/activemq
COPY files/${ACTIVEMQ}-bin.tar.gz /
RUN tar xzf $ACTIVEMQ-bin.tar.gz -C /opt && \
ln -s /opt/$ACTIVEMQ $ACTIVEMQ_HOME && \
useradd -r -M -d $ACTIVEMQ_HOME activemq && \
chown -R activemq:activemq /opt/$ACTIVEMQ && \
chown -h activemq:activemq $ACTIVEMQ_HOME && \
rm -f $ACTIVEMQ-bin.tar.gz
USER activemq
WORKDIR $ACTIVEMQ_HOME
EXPOSE $ACTIVEMQ_TCP $ACTIVEMQ_AMQP $ACTIVEMQ_STOMP $ACTIVEMQ_MQTT $ACTIVEMQ_WS $ACTIVEMQ_UI
CMD ["/bin/sh", "-c", "bin/activemq console"]
我用 Docker 撰写 docker 图像。
activemq:
image: activemq:5.15.9
container_name: nita-activemq
ports:
- 8161:8161
- 61616:61616
healthcheck:
test: ["CMD-SHELL", "curl -k -f https://localhost:8161/admin"]
interval: 5s
timeout: 3s
retries: 20
产品启动成功,可以登录控制台工作。但它在日志中不断显示以下命令。
nita-activemq | WARN | badMessage: 400 Illegal character 0x16 for HttpChannelOverHttp@905d5d7{r=0,c=false,a=IDLE,uri=}
nita-activemq | WARN | Illegal character 0x16 in state=START for buffer HeapByteBuffer@3730f7b0[p=1,l=517,c=16384,r=516]={\x16<<<\x03\x01\x02\x00\x01\x00\x01\xFc\x03\x03\x83\x10w\x8c\xE6\xEf\x8e...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}
如何解决这个问题?
您的 healthcheck
测试命令正在轮询 https://localhost:8161/admin
并且您的 Jetty 未配置为正确处理 HTTPS
请求。
您可以在撰写文件 healthcheck
:
中轮询 HTTP
端点而不是 HTTPS
[...]
healthcheck:
test: ["CMD-SHELL", "curl -k -f http://localhost:8161/admin"]
interval: 5s
[...]
或查看 /activemq/conf/jetty.xml
并为 HTTPS 设置正确的配置、生成证书、将它们安装在容器中等。Here 是关于此主题的 post。
我正在尝试使用 Docker 图像启动 ActivemQ。
这是我的 ActiveMQ docker文件
FROM openjdk:8-jre
ENV ACTIVEMQ_VERSION 5.15.9
ENV ACTIVEMQ apache-activemq-$ACTIVEMQ_VERSION
ENV ACTIVEMQ_TCP=61616 ACTIVEMQ_AMQP=5672 ACTIVEMQ_STOMP=61613 ACTIVEMQ_MQTT=1883 ACTIVEMQ_WS=61614 ACTIVEMQ_UI=8161
ENV ACTIVEMQ_HOME /opt/activemq
COPY files/${ACTIVEMQ}-bin.tar.gz /
RUN tar xzf $ACTIVEMQ-bin.tar.gz -C /opt && \
ln -s /opt/$ACTIVEMQ $ACTIVEMQ_HOME && \
useradd -r -M -d $ACTIVEMQ_HOME activemq && \
chown -R activemq:activemq /opt/$ACTIVEMQ && \
chown -h activemq:activemq $ACTIVEMQ_HOME && \
rm -f $ACTIVEMQ-bin.tar.gz
USER activemq
WORKDIR $ACTIVEMQ_HOME
EXPOSE $ACTIVEMQ_TCP $ACTIVEMQ_AMQP $ACTIVEMQ_STOMP $ACTIVEMQ_MQTT $ACTIVEMQ_WS $ACTIVEMQ_UI
CMD ["/bin/sh", "-c", "bin/activemq console"]
我用 Docker 撰写 docker 图像。
activemq:
image: activemq:5.15.9
container_name: nita-activemq
ports:
- 8161:8161
- 61616:61616
healthcheck:
test: ["CMD-SHELL", "curl -k -f https://localhost:8161/admin"]
interval: 5s
timeout: 3s
retries: 20
产品启动成功,可以登录控制台工作。但它在日志中不断显示以下命令。
nita-activemq | WARN | badMessage: 400 Illegal character 0x16 for HttpChannelOverHttp@905d5d7{r=0,c=false,a=IDLE,uri=}
nita-activemq | WARN | Illegal character 0x16 in state=START for buffer HeapByteBuffer@3730f7b0[p=1,l=517,c=16384,r=516]={\x16<<<\x03\x01\x02\x00\x01\x00\x01\xFc\x03\x03\x83\x10w\x8c\xE6\xEf\x8e...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}
如何解决这个问题?
您的 healthcheck
测试命令正在轮询 https://localhost:8161/admin
并且您的 Jetty 未配置为正确处理 HTTPS
请求。
您可以在撰写文件 healthcheck
:
HTTP
端点而不是 HTTPS
[...]
healthcheck:
test: ["CMD-SHELL", "curl -k -f http://localhost:8161/admin"]
interval: 5s
[...]
或查看 /activemq/conf/jetty.xml
并为 HTTPS 设置正确的配置、生成证书、将它们安装在容器中等。Here 是关于此主题的 post。