下载后运行代码并旋转预构建的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 - 是的,我在混合:/ –