bash - docker-compose 中的条件逻辑
问题描述
有人知道我是否可以在 docker-compose 文件中有条件地执行命令吗?
services:
service_1:
container_name: blah
command: [[ -z '${SOME_ENV_VAR}' ]]; then <do something>; else exit 0; fi"
这是一个简化版本,但我希望其中一个容器仅在运行时传递 env var 时运行特定命令,docker-compose up
否则为无操作。
例如,当我运行以下命令时,它应该根据命令的退出代码执行某些操作并退出
SOME_ENV_VAR=True docker-compose up -d
当我运行这个时,它应该在那个容器上退出 0
docker-compose up -d
出于某种原因,docker-compose 只是出错了./entrypoint.sh: line 13: exec: [[: not found
. 做这样的事情的正确方法是什么?
解决方案
推荐阅读
- javascript - 从 Firefox 控制台会话中保存探索性代码
- python - Python从长而复杂的字符串中获取信息
- presto - 如何在 Presto DB 中抑制“查询中的阶段数 (nnn) 超过软限制”警告
- c# - 如何将名称与某些模式匹配的 JSON 属性合并到数组值属性中?
- mediawiki - 从 Wikidata 获取 Wikipedia infoxbox 数据
- ios - 有没有人解决了尝试在 iOS 上启动调试器时 VS 代码挂起的 Nativescript 插件的问题?
- java - Spring Boot Web / Tomcat 拒绝特定网络的连接(沃达丰)
- python - 使用子图时 Seaborn 热图宽度不匹配
- matplotlib - matplotlib - 如何在同一窗口的循环中绘制新图
- python - Pygame - pygame.init() 在我的 Ubuntu 系统上不起作用