【发布时间】:2017-11-17 03:40:22
【问题描述】:
我正在学习 docker,我正在尝试进行 shell 测试以查看是否已加载关键工具。我正在对将 docker 部署到不同风格的服务器进行一些测试。这是脚本,保存为 dockerScript.sh
#!/bin/bash
## run "$ chmod +x dockerScript.sh" to make the script executable.
## then run "./dockerScript.sh" to activate the script
touch docker-compose.yml
cat > docker-compose.yml <<EOL
version: "2"
services:
(etc...)
EOL
if[docker-compose is not already loaded] <--- what goes here?
then
curl -L https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
fi
docker-compose up -d
在这种情况下,我想验证 docker-compose 是否已加载。我不太确定该怎么做。
我知道如果我 $ docker-compose -v 我会收到类似
docker-compose version 1.14.0-rc2, build 24dae73 成功
还有一个
-bash: docker-compose: command not found 或
bash: docker-compose: command not found
如果工具未加载,则作为响应,具体取决于我将使用的 linux 版本。
有没有办法测试操作系统是否存在/安装 docker-compose 工具并完成我的 shell 脚本?
【问题讨论】:
-
if docker-compose -v >/dev/null;then不起作用吗? -
不。这是对建议使用
which测试的其他人的回复。 -
pgrep docker-compose? (我理解“加载”对吗?) -
@123 运气不好。 if (/dev/null) 测试失败,如所写。当我做
$ which docker-compose时,看到/usr/local/bin/docker-compose的响应,但不清楚这是否适用于所有安装。 -
@hidefromkgb 这看起来不错,但似乎失败了。
# pgrep docker-compose -c-->0和# docker-compose -v-->docker-compose version 1.14.0-rc2, build 24dae73
标签: linux bash shell docker centos