定義済みのユーザーで RabbitMQ を実行する Dockerfile を作成しようとしていますが、Dockerfile のビルド手順中に設定が失われます。
これは私の Dockerfile です:
FROM rabbitmq:management
# Set node name to try to avoid settings being lost during intermediate containers creation
RUN echo "NODENAME=rabbit@localhost" > /etc/rabbitmq/rabbitmq-env.conf
# Start server in intermediate container and configure user
RUN rabbitmq-server -detached \
&& sleep 5 \
&& rabbitmqctl add_user test test \
&& rabbitmqctl set_user_tags test management \
&& rabbitmqctl set_permissions -p / test ".*" ".*" ".*" \
&& rabbitmqctl list_users
# Start server in intermediate container just to show that user configuration is lost
RUN rabbitmq-server -detached \
&& sleep 5 \
&& rabbitmqctl list_users
# Run server in final container as main/daemon process
CMD rabbitmq-server
イメージをビルドしてコンテナーを実行するために使用しているコマンドは次のとおりです。
docker build -t rabbitmq:test .
docker run -d -p 5672:5672 -p 15672:15672 rabbitmq:test
Windowsマシンでboot2dockerを使用してコンテナを実行していますが、関係がないようです。
出力は、Dockerfile の各ステップの後、中間コンテナーが作成されると、設定が失われることを示しています。
誰もそれを修正する方法を知っていますか? 私は今、2日間それに立ち往生しています。