我有一个部署到 Docker Swarm 的 Django 应用程序。 (已复制,在多个节点上运行)
应用程序包含一些必须定期执行的 shell 脚本 do_stuff.sh
,最终会在节点上执行自定义命令 python manage.py do_django_stuff
。
我想要的是从 Jenkins 调度和触发脚本的执行。 (从那里可以方便地跟踪结果/查看日志输出以进行故障排除等)
该应用程序已修复 FQDN(例如 my_app.my_server.com
),但我正在努力解决如何从 Jenkins 指向特定容器以在那里执行脚本。
我怎样才能做到这一点?
谢谢!
答案 0 :(得分:0)
找到了解决方案。要完成上述任务 - 我必须做两件事:
docker exec $(docker ps -q -f name=name_of_my_application) ./do_stuff.sh
的身份执行脚本所以当任务在 Docker Swarm 中执行时,我实现了行为,但输出与常规部署相同