【发布时间】:2018-07-24 21:07:06
【问题描述】:
我用 Dockerfile 制作了一个 Docker 镜像。我使用 RUN 命令安装了 Rabbitmq:
&& dnf -y --nogpgcheck install rabbitmq-server \
&& rabbitmq-plugins enable rabbitmq_management \
我尝试在 supervisord.d/ 中创建一个 .ini 文件,甚至在容器中复制并启动一个脚本,以便 Rabbitmq 可以启动、添加新用户并一直运行。但是当我启动容器时,Rabbitmq 没有运行。
init.sh 文件(如果我在进入容器后手动运行它会很好用):
(
rabbitmq-server start & \
sleep 5 ; \
rabbitmqctl add_user admin mypass 2>/dev/null ; \
rabbitmqctl set_user_tags admin administrator ; \
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" ;
)
现在,supervisord.d/rabbitmq-server.ini 文件:
[program:rabbitmq-server]
;directory=/usr/local/
command=/sbin/rabbitmq-server -D
autostart=true
autorestart=true
startsecs=10
redirect_stderr=true
priority=990
注意:我将 rabbitmq.config 文件复制到容器中以更改监听端口。
我怎样才能像我一样继续拥有这些新端口并添加这个新用户,并在容器启动时设法运行 Rabbitmq(我现在不能做什么)?
谢谢。
【问题讨论】:
-
为什么不直接使用the standard rabbitmq image?据我所知,它为您尝试做的所有事情提供了开箱即用的设置。
-
因为我需要使用同事制作的自定义图像。这是我有义务做的一件事。
标签: docker rabbitmq dockerfile