我的目标是使用ssl支持设置rabbitmq,这是先前使用rabbitmq.config
文件下面的/etc/rabbitmq
文件实现的,该文件位于主机的guest
路径中。
现在我希望能够配置其他rabbitmq用户和密码,而不是默认guest
version: '2'
services:
rabbitmq:
build: ./rabbitmq
ports:
- "8181:8181"
expose:
- "15672"
- "8181"
volumes:
- /etc/rabbitmq:/etc/rabbitmq
environment:
RABBITMQ_DEFAULT_USER: user123
RABBITMQ_DEFAULT_PASS: 1234
。
我正在使用带有docker-compose配置的rabbitmq docker image:
[{rabbit,
[
{loopback_users, []},
{heartbeat,0},
{ssl_listeners, [8181]},
{ssl_options, [{cacertfile, "/etc/rabbitmq/ca/cacert.pem"},
{certfile, "/etc/rabbitmq/server/cert.pem"},
{keyfile, "/etc/rabbitmq/server/key.pem"},
{verify,verify_none},
{fail_if_no_peer_cert,false}]}
]}
].
Rabbitmq config :
from rabbitmq:management
#and some certificate generating logic
Rabbitmq dockerfile :
environment
我注意到,在添加rabbitmq.config
部分之后,当前的ssl_listeners
文件会被docker-entrypoint.sh file覆盖自动生成的配置。
对于使用证书构建配置,我找到了可以执行此操作的环境变量(查看here)。
但是,没有找到任何关于使用其端口定义rabbitmq.config
部分的参考,如下面rabbitmq.config
所示
我的问题是:如何使用env变量或创建如下所述的确切配置我如何与我的A
一起使用new 0
定义rabbitmq用户和密码以某种动态方式(可能模板化配置文件)?
答案 0 :(得分:0)
试试这个
version: '2'
services:
rabbitmq:
build: ./rabbitmq
ports:
- "8181:8181"
expose:
- "15672"
- "8181"
volumes:
- /etc/rabbitmq:/etc/rabbitmq
command: rabbitmq-server
entrypoint: ""
environment:
RABBITMQ_DEFAULT_USER: user123
RABBITMQ_DEFAULT_PASS: 1234
这将覆盖docker-entrpoint
并运行rabbitmq服务器。现在./docker-entrypoint.sh
也设置了某些环境变量。在您的情况下可能需要哪些。所以要确保你拥有所需的一切