Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker compose中重新运行Python脚本,MySQL服务器正在运行_Python_Mysql_Docker - Fatal编程技术网

在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