これはサーバー障害の問題かもしれませんが、私はAPIやその他の方法でプログラムを実行しようとしているので、別の方法で言われるまではStackOverflowの問題だと仮定します。APIを使用してECSにディレクトリをマウントしていますか?
私が取り組んでいるアプリケーションでDeisをECSに置き換えようとしています。アプリケーション自体は現在、Deis上の新しいアプリケーション(Webアプリケーションを実行しているドッカーコンテナ)を起動することができます。デプロイメントキーを使用してプライベートgitリポジトリからソースコードをチェックアウトし、次にDeisエンドポイントにコードをプッシュします。ドッキング用コンテナを回転させるなど)。
デイはかなりフレークだったので、私はそれを置き換えることを検討しています。 Buildstep Container私は、dockerを使用してコマンドラインで自分のプライベートリポジトリからherokuのようなコードのデプロイメントを正常に実行しました。二つのことを除いて、ほとんどが細かいです
docker run -d -v ~/.ssh:/root/.ssh -p 3000:3000 -e PORT=3000 -e GIT_REPO=private-repo-url.git tutum/buildstep /start web
:行うには
はので、私は、実行コマンドの一部としてコンテナに私のSSHキーディレクトリをマップする必要がありました。最初は、タスク作成APIを呼び出すときにこれを行う最善の方法がわからないということです。私の理解から、ECSのタスクをボリュームとマウントポイントに登録することは可能ですが、そのボリュームは、タスクを実行しているECSクラスタホスト上のボリュームである必要があります(これについての確認を使用することができます)。タスク登録時に知られています。私が見つけることができる唯一の例は、ローカルファイルパスを使用しました。
だから、最初の質問:どのように私は、コンテナが起動時に添付できる「キー」ディレクトリをマップ確実に容器の中に私の展開の鍵を注入、または
本の他の部分が少ないですいずれかを実行懸念事項ですが、理想的には、git repo pullが完了すると、キーはすべてのコンテナに残りません。私は最初の質問を行う方法についてのビットを依存し、これを行うためのクリーンな方法だと思いますが、私のキーは、彼らが展開した後、容器に残っていないので、クリーンアップが完了し、私があるんどのように2番目の質問は、ある
今日、同じ配備環境で同じ問題を解決しています。ボリュームを使用して.sshキーを共有していますが、すぐに使用できるドッカーはクリーンアップを行いません。 – Shibashis
私は今日それを解決していない、私は私が移動している完全に異なるアーキテクチャを持っています。 – Paul