下載後運行代碼並旋轉預構建的Docker鏡像的最佳實踐是什麼?例如,我使用Bitnamis RabbitMQ映像,它可以運行一個運行RabbitMQ的容器(顯然):https://hub.docker.com/r/bitnami/rabbitmq啓動預構建的Docker鏡像後運行命令的最佳實踐
容器啓動並且RabbitMQ正在運行後,我想下載並啓用一個額外的RabbitMQ-Plugin。有兩個問題,我遇到的一個碼頭工人,新手:
- 的RabbitMQ需要一些時間進行初始化,也許20-30秒
- 插件需要啓用後表示初始化完成
現在,我旋轉起來的容器,等待30秒,並在終端上手動執行命令時等
搬運工EXEC - 它的wget -O /plugins/folder/newplugin.ez https://pluginlocation.com/newplugin.ez & &的RabbitMQ-插件使newplugin`
這工作,但有一個推薦的方式做到這一切一氣呵成?我試圖用我自己的Dockerfile對過程的頂部:
FROM bitnami/RabbitMQ的:最新
運行的wget -O /plugins/folder/newplugin.ez https://pluginlocation.com/newplugin.ez
RUN RabbitMQ的,插件啓用newplugin
但是在這一點上,RabbitMQ還沒有初始化,所以使插件失敗。
最佳 -act
@OliverCharlesworth這是錯誤的,你可以有許多'RUN'指令,因爲你有層。你可能把它和'CMD'混合起來。 –
@ErikDannenberg - 是的,我在混合:/ –