Dockerfile を使用してイメージをビルドしています。インストール直後に RabbitMQ にユーザーを追加したいと考えています。問題は、ビルド中の docker コンテナーのホスト名が、結果のイメージを実行したときと異なることです。RabbitMQ はそのユーザーを失います。ホスト名が変更されたため、別のDBを使用します。
コンテナー内からのファイルの変更/etc/hosts
を/etc/hostname
認識しておらず、RabbitMQ が変数への変更RABBITMQ_NODENAME
を選択していないようです。HOSTNAME
RabbitMQ ブローカーを開始する前に、これを実行することだけで動作することがわかりました。
echo "NODENAME=rabbit@localhost" >> /etc/rabbitmq/rabbitmq.conf.d/ewos.conf
ただし、ホスト名を変更してdockerイメージを常に実行する必要があります。
docker run -h="localhost" image
何ができるかについてのアイデアはありますか?おそらく解決策は、ビルド時ではなくイメージ実行時にユーザーをRabbitMQに追加することですか?