是否有一种方法可以使该命令作为docker-compose.yml的参数在容器中运行?
命令:
"rabbitmqctl set_policy ha "example-queue" '{"ha-mode":"all", "ha-sync-mode":"automatic"}' --priority 1 --apply-to queues"
docker-compose.yml:
version: '2.3'
services:
rabbit1:
image: rabbitmq:v378
hostname: rabbit1
environment:
- RABBITMQ_ERLANG_COOKIE=abcdefg
volumes:
- ./enabled_plugins:/etc/rabbitmq/enabled_plugins
- ./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
- ./definitions.json:/etc/rabbitmq/definitions.json
ports:
- "5672:5672"
- "15672:15672"
- "25672:25672"
- "4369:4369"
谢谢
答案 0 :(得分:0)
Docker compose支持命令作为参数:
答案 1 :(得分:0)
我假设您要运行命令:
rabbitmqctl set_policy ha "example-queue" '{"ha-mode":"all", "ha-sync-mode":"automatic"}' --priority 1 --apply-to queues
无论何时运行容器。然后只需在您的docker-compose
中添加以下内容entrypoint:
- rabbitmqctl
- set_policy
- ha
- "example-queue"
- '{"ha-mode":"all", "ha-sync-mode":"automatic"}'
- --priority
- 1
- --apply-to
- queues
我很确定这应该可行,但如果不能,请发表评论,我们将讨论并找出错误。
另外,您的命令对我来说还不太清楚,所以我不知道哪个选项与哪个值有关。可能应该写--priority=1
而不是将它们写成两行。
答案 2 :(得分:0)
您已经在使用定义文件,那么为什么不使用策略信息来完成它呢?
__slots__
这是最简单的方法,它根本不涉及Docker。