Docker – 如何在图像创build过程中testing服务是否正在运行

对于docker工人,我很绿,发现自己面临以下问题:

我试图创build一个dockerfile来生成一个图像,我的公司软件就可以了。 在安装该软件的过程中,安装过程使用以下命令检查ssh是否正在运行:

if [ $(pgrep sshd | wc -l) -eq 0 ]; then 

我可能需要确定我正在安装并在同一个进程中启动open-ssh。

你可以在图像创build过程中检查服务是否正在运行?

我不能忽视这个步骤是作为自我提取机制的一部分来执行的。

任何线索朝着正确的方向将不胜感激。

图像无法运行服务。 您只需创build容器运行所需的所有必需事物,例如在Dockerfile中安装数据库,服务器或复制一些configuration文件等。 Dockerfile中的最后一步是指导您在发出docker run命令时该怎么做。 脚本或命令可以使用Dockerfile中的CMD或ENTRYPOINT来指定。

要回答你的问题,在图像创build过程中,你不能检查服务是否正在运行。 当容器启动时,docker将执行你可以在CMD或者ENTRYPOINT中指定的脚本或命令。 您可以使用该脚本来检查您的服务是否正在运行,然后采取必要的措施。