我使用的是官方的Elasticsearch Docker映像,而不是设置自己的elasticsearch实例。效果很好,直到我想要扩展它为止。我想在该ElasticSearch实例中安装奇迹以获取更多信息。
现在dockerfile / elasticsearch会自动运行ElasticSearch并将命令设置为/bin/bash不起作用,也不会附加到容器或尝试通过SSH访问它,也不会使用来安装ssh- daemon apt-get install -y openssh-server。
/bin/bash
apt-get install -y openssh-server
在这种情况下,我可以进入容器的文件系统并执行,opt/elasticsearch/bint/plugin -i elasticsearch/marvel/latest然后一切正常。
opt/elasticsearch/bint/plugin -i elasticsearch/marvel/latest
但是apt-get当我无法在运行的容器中安装终端时,如何安装需要安装的附加服务?
apt-get
只需使用以以下内容开头的Dockerfile对其进行扩展
FROM dockerfile/elasticsearch
并安装marvel或ssh- server或任何您需要的东西。然后,以正确的命令结束以启动服务。您可以使用超级用户来启动多个服务,有关更多信息,请参阅在Docker容器中自动运行服务。