我使用Dockerfile構建映像,並且我想在安裝後立即將用戶添加到RabbitMQ。問題是,在構建期間docker容器的主機名與我運行結果圖像時不同。 RabbitMQ丟失該用戶;由於改變主機名,它使用另一個數據庫。docker rabbitmq主機名問題
我從粗野,容器內改變/etc/hosts
和/etc/hostname
文件,看起來是RabbitMQ的不接我的變化RABBITMQ_NODENAME
和HOSTNAME
變量。
,我找到了工作開始的RabbitMQ代理之前運行此的唯一的事情:
echo "[email protected]" >> /etc/rabbitmq/rabbitmq.conf.d/ewos.conf
但後來我將不得不與改變主機運行泊塢窗圖像的所有時間。
docker run -h="localhost" image
關於可以做什麼的任何想法?也許解決方案是將用戶添加到RabbitMQ而不是構建,但在圖像運行?
也出現了一個問題:當我添加一個用戶和停止的RabbitMQ之後,添加的用戶不會持續。在RabbitMQ停止命令之前添加一些「睡眠3」,解決了問題。 –
這不是解決方案,因爲應該使用Dockerfile構建圖像,而不是每次從Docker鏡像執行部署時都必須運行容器來進行設置。 – Rubycut
@Rubycut你是對的。你有沒有測試過,你的答案在下面?直到這個時候,我還沒有看到以分號分隔的命令執行。你是否像上面那樣遇到了持續配置的問題? –