私のアプリケーションでドッカーを開発する必要があります。私はmaven-docker-pluginでドッキング・イメージを作成します。その後、私はshスクリプトを実行します。Dockerコンテナが非同期で実行されます
docker run --name app-mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=app -d mysql
docker run --name app -p --link app-mysql:localhost -d app
docker run --name app-nginx -d -p 80:80 --link app:app nginx
docker exec app-nginx rm -rf /etc/nginx/conf.d/default.conf
docker cp app:/default.conf default.conf
docker cp default.conf app-nginx:/etc/nginx/conf.d/default.conf
docker restart app-nginx
しかし、私には問題があります。最初のmysqlコンテナはうまく動作します。次に、アプリケーションコンテナがうまく動作します。しかし、nginxのコンテナがエラーをスロー:私はコマンドを使用してコンテナ間
sleep 120
をこのスクリップを実行する場合、私はアプリのコンテナが終了する前にnginxのコンテナの実行を理解し
docker: Error response from daemon: Cannot link to a non running container: /app AS /app-nginx/app.
それは、通常のセットアップ。それはハードコードされているので、スリープコマンドなしでコンテナを実行する方法はありますか?コンテナが正常に終了した場合、どのようにして計算できますか?解決策を教えてくれますか?