在docker compose中重新运行Python脚本,MySQL服务器正在运行
使用在docker compose中重新运行Python脚本,MySQL服务器正在运行,python,mysql,docker,Python,Mysql,Docker,使用docker compose我为MySQL数据库创建了一个容器,为Python脚本创建了一个容器。当我使用命令docker compose up时,我的图像是为我的Python应用程序容器和MySQL数据库容器构建的,并且运行Python脚本。执行后,shell挂起,因为MySQL服务器仍在运行,并且我的脚本已完成执行。如何在脚本运行后停止MySQL服务器,或者在MySQL服务器继续运行时重新运行脚本?当运行docker compose up时,当前shell将显示docker compos
docker compose
我为MySQL数据库创建了一个容器,为Python脚本创建了一个容器。当我使用命令docker compose up
时,我的图像是为我的Python应用程序容器和MySQL数据库容器构建的,并且运行Python脚本。执行后,shell挂起,因为MySQL服务器仍在运行,并且我的脚本已完成执行。如何在脚本运行后停止MySQL服务器,或者在MySQL服务器继续运行时重新运行脚本?当运行docker compose up
时,当前shell将显示docker compose.yaml
文件中定义的所有容器中的所有日志。另外,如果在MacOS中使用cmd+c
终止命令,所有容器都将停止运行
因此,这给您的印象是,shell只是挂起,而一切仍在正常运行
在这种情况下,您希望让容器继续在后台运行()
MySQL服务器现在将继续运行,直到您使用
docker compose down
停止它。谢谢。在这种情况下,我如何在需要时重新运行脚本(如每24小时一次)?我是否每次都需要执行docker compose up
,或者是否有更好的替代方案?您最好的选择是1)将带有脚本的容器设置为restart:always
,以便在docker启动时它始终处于启动状态。2) 将入口点
和命令
设置为tail-f/dev/null
,使容器不会中途终止。3) 在docker容器中安装cronjob,并将其配置为每24小时运行一次。
docker-compose up --detach