2016-08-08 2 views
1

私はシェルスクリプトでサーバーに入り、いくつかのドッカーコマンドを実行しています。しかし、いくつかのコマンドはドッカーバージョン1.7で失敗します。私は1.7の修正をしていますが、これを常時使用しているとシェルスクリプトを実行するのに時間がかかります。だから私はそのバージョンを確認したい、それが1.7の場合は遅いスクリプトに落ちる。それ以外の素晴らしい高速版を実行します。sshシェルスクリプトでドッカーのバージョンを確認します

、これは動作しませんもちろん

if ssh -l root $1 "docker -v === '1.7.*'" 
then 
    echo "Docker version 1.7!" 
else 
    echo "Docker version not 1.7!" 
fi 

のようなものを考えます。何か案は?

答えて

0

あなたは使用することができます。

if [[ $(ssh -l root "$1" 'docker -v') == *" 1.7."* ]]; then 
    echo 'Docker version 1.7!' 
else 
    echo 'Docker version not 1.7!' 
fi 
  • あなたは$(...)
  • シェルが引用符外===なく===
  • くださいグロブ文字をサポートするコマンド置換を使用して全体sshコマンドの出力を取る必要があります
+1

ありがとう!それは美しく動作します – user3455992

0

Dockerには-Hオプションがあり、別のホストのドッカーエンジンをポイントすることができます。これを使用してバージョンを取得し、実行するものを決定します。

if [[ $(docker -H my.host version | grep '1.7') ]]; then 
    Thing 1 
else 
    Thing 2 
fi 
関連する問題