Docker系列如何在容器启动完成后执行curl
目录
【Docker系列】如何在容器启动完成后执行curl
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
- 推荐: ,持续学习,不断总结,共同进步,活到老学到老
- 导航
- :全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
- :常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
- :详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
- :提供各种软件服务,承接各种毕业设计,毕业论文等
- :总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
- :总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
博客目录
在服务启动完成后执行
curl
命令可以通过 Docker 的
depends_on
和
healthcheck
配置来实现。虽然
depends_on
只控制容器启动的顺序,并不保证依赖的容器就绪,但结合
healthcheck
可以确保在服务完全启动后再执行
curl
。
下面是一个示例步骤:
- 添加 healthcheck
:在你的 Docker Compose 文件中,为
test-flex-flow
添加healthcheck
。 - 使用
exec
或command
执行curl
:可以使用 Docker 的exec
命令在容器内执行curl
,或者在容器启动后执行一个脚本。
以下是一个示例:
version: "3.8"
services:
test-flex-flow:
container_name: test-flex-flow
image: ${FASTAGI_FLEX_FLOW_IMAGE:-deploy.test.com/console-tag/test-flex-flow:v1.8.0}
ports:
- "${EXPOSE_FLEX_FLOW_PORT:-5001}:5001"
restart: always
privileged: true
environment:
MODE: "api"
CONSOLE_API_URL: "https://${EXPOSE_SERVER_IP}:${EXPOSE_FLEX_FLOW_PORT:-5001}"
SERVICE_API_URL: "https://${EXPOSE_SERVER_IP}:${EXPOSE_FLEX_FLOW_PORT:-5001}"
OPENAI_API_KEY: "xxxxx"
volumes:
- ./volumes/data-gym-cache:/tmp/data-gym-cache
- ./server/flex-flow/storage:/app/api/storage
- ./server/flex-flow/env.properties:/app/api/.env
- ./server/flex-flow/logs:/flex-flow/logs
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5001/console/api/health"]
interval: 30s
timeout: 10s
retries: 5
command: >
sh -c "
while ! curl -s http://localhost:3001/console/api/health; do sleep 5; done &&
curl -X POST 'http://localhost:3001/console/api/setup' \
-H 'Content-Type: application/json' \
--data-raw '{\"email\":\"admin@test.com\",\"name\":\"admin@test.com\",\"password\":\"admin123\"}'"
在这个例子中:
healthcheck
确保容器启动后能够成功响应健康检查。command
将等待服务完全启动并能够响应,然后执行curl
命令进行设置。
这样配置后,容器启动完成后会自动执行你需要的
curl
命令。
觉得有用的话点个赞
👍🏻
呗。❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙