启动预构build的Docker镜像后运行命令的最佳实践
下载后运行代码并旋转预构build的Docker镜像最佳做法是什么? 例如,我使用Bitnamis RabbitMQ镜像,它可以运行一个运行RabbitMQ的容器(显然): https ://hub.docker.com/r/bitnami/rabbitmq
容器启动后,RabbitMQ正在运行,我想下载并启用一个额外的RabbitMQ插件。 作为Docker-Newbie,我遇到了两个问题:
- RabbitMQ需要一些时间来初始化,也许20-30秒
- 所述初始化完成后,需要启用插件
现在,我启动容器,等待30秒,然后在terminal上手动执行命令
docker exec -it wget -O /plugins/folder/newplugin.ez https://pluginlocation.com/newplugin.ez && rabbitmq-plugins enable newplugin`
这是有效的,但是有一个推荐的方法去做这一切吗? 我尝试使用我自己的Dockerfile的过程之上:
FROM bitnami / rabbitmq:最新
运行wget -O /plugins/folder/newplugin.ez https://pluginlocation.com/newplugin.ez
运行rabbitmq-plugins启用newplugin
但在这一点上,RabbitMQ还没有初始化,所以使插件失败。
最好的
您可以启用插件,而无需使用--offline
选项运行代理。
所以你的Dockerfile
可以是:
FROM bitnami/rabbitmq:latest RUN curl -o /opt/bitnami/rabbitmq/plugins/newplugin.ez \ https://pluginlocation.com/newplugin.ez \ && rabbitmq-plugins enable --offline newplugin
顺便说一句,这是一个很好的做法 ,在一个层面做相关的事情(例如下载和启用一个插件)。
- 无法将图像推送到Openshift(未经授权:需要validation)
- 无法在Openshift Online中部署应用程序:“同步窗格:FailedSync错误”
- 在Jenkins的硬件从站上运行docker slave
- DockerHub Webhook触发Jenkins构build
- 如何让docker应用程序发送日志到openshift的内置日志聚合器?
- jenkins云docker插件,启动奴隶容器时,延迟很长
- 在OpenShift / Minishift中部署Docker镜像时的权限问题
- 如何通过Web钩子从Docker Hub与Jenkins进行通信?
- 如何检查您的docker集装箱未使用的图像?