2017-01-06 8 views
0

:8383ジェンキンスのコンテナ港の内側8080ドッキングウィンドウのTomcatの再配備するアプリケーション

私が展開できることができますアプリケーションを正常に起動し、サーバーを初めて起動します。

ただし、アプリケーションを再デプロイする場合は、ポート8383がすでに割り当てられているため、デプロイメントジョブは失敗します。

ドッカーのtomcatコンテナがすでに実行されているかどうかを確認したい場合は、実行している場合はtomcatコンテナを停止し、アプリケーションを展開してもう一度起動する必要があります。

シェルスクリプトを使用してこれを行うにはどうすればよいですか?

+0

なぜ 'docker stop docker-tomcat'シェルコマンドを発行しないのですか? –

+0

シェルコマンドが失敗した場合、ジョブはjenkinsで失敗します。 –

+0

私はそれを試して、仕事は失敗しましたが、コンソールにエラーメッセージが表示されます。 @helmbertコマンドは私のために働いた。 –

答えて

0

まず、名前を付けて(--nameフラグを使用して)コンテナを開始します。それがない場合(シェルそれをコンテナがすでに存在する場合は、あなたがチェックできる名前を使用して

docker run -d -it -p 8383:8080 --name your-application docker-tomcat 

、その後、停止および削除:あなたはそれを再デプロイしたい場合は、あなたが簡単に後からこのコンテナを見つけることができるようになりますこのスクリプトは、私の頭の上からで、これを構築するためのより良い方法は)おそらくあります。その後

[ $(docker ps -aq -f name=your-application | wc -l) -gt 0 ] && \ 
    docker stop your-application && docker rm your-application 

、以前のように新しいイメージを使用してコンテナを再作成します。

関連する問題