docker-compose容器启动后的打印状态

时间:2019-04-20 07:16:50

标签: docker docker-compose

在docker-compose文件中,是否可以等待容器启动然后打印状态?

例如import datetime date1 = datetime.datetime(2019, 4, 18, 15, 47, 51) date2 = datetime.datetime.now() print(date2-date1) #1 day, 20:58:11.972530

sleep 10 && echo started mysql on http://${HOST}:${PORT}具有运行命令,但是撰写文件中没有这样的东西。我该怎么办?

2 个答案:

答案 0 :(得分:1)

对于docker-compose,就像常规docker run [...]一样,您可以指定entrypoint(参见here)和command(参见{{3 }}。

但是,在您的情况下,我要做的是根据您喜欢的MySQL映像和COPY在该映像中执行所需操作的简单入口点脚本来构建自己的Docker映像,例如

#!/bin/sh

sleep 10

[command to run MySQL]

echo "Started MySQL on xyz"

然后在Dockerfile中将此脚本指定为ENTRYPOINT

答案 1 :(得分:0)

最好的方法是将其添加到撰写文件中

print-status:
  image: busybox
  env_file: .env
  command: "sh -c 'sleep 10 && echo \"http://localhost:${PORT}\"'"
  depends_on:
    - mysql