2016-10-30 5 views
1

「ドッカー実行」が開始され、ドッカーファイルに従ってコマンドを実行するためにttyを開くと、報告するのに約5-6時間かかりますしかし、私はそれが仕事をして、シェルスクリプト行で前進し、いくつかのpidを取得し、条件を作る必要があります。 「ドッカーの実行」を実行できず、それから他のスクリプト行に移動できないという問題はありません。 "docker run"コマンドに影響を与えずにどうすればいいですか?実行時間が終了していない間にジャンプする

docker run --name=something -it --rm \ 
     --link=postgresql:postgresql \ 
     --publish=80:80 \ 
     --env='something_PORT=80' \ 
     --env='NGINX_MAX_UPLOAD_SIZE=60m' \ 
     --volume=/srv/docker/something:/home/something/data \ 
     --volume=/srv/docker/something/rgloader:/home/something/rgloader \ 
     something:3.3 \ 
     app:backup:restore 

#30 sec pass till process starts to unpack tar file. 
    sleep 30 

#Get PID of tar extraction process 
    PID=`ps au | grep "tar -xf" | head -n 1 | awk '{print $2}'` 
echo $PID 

echo "tar file extraction is completed" 

#wait until tar extraction process ends 

while [ -e /proc/$PID ] 
do 
    echo $PID PID still running 
    sleep 10 
done 
+0

問題は不明です。バックグラウンドで 'ドッカー実行'したいですか? – Rao

+0

私は "-d"を使うと知っています。私はデーモンモードでドッカーを走らせることができますが、ドッカーを動かしてその仕事をして次の行に行きたいとすると、bashはその行に止まり、 –

答えて

0

私はデーモンモードでのドッキングウィンドウを実行することができます「-d」を使用する場合、私は知っているが、私はちょうど実行ドッキングウィンドウをしたいし、それがそのジョブを実行し、次の行に行かせ、

そして、最も簡単な方法は、ホストから直接(タールのような)バックグラウンドでスクリプトの残りの部分はあなたのドッキングウィンドウコンテナによって起動プロセスが表示されないということ

docker run ... & 
       ^^^ 

注意をドッキングウィンドウを起動することです。
Finding Docker container processes? from host point of view」を参照してください。
これにはdocker topを使用する必要があります。

関連する問題