問題タブ [fig]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - ホスト ディレクトリにマウントされた Docker ボリュームには、最後のコンテナのファイルのみが含まれます
複数のリンクされたコンテナを起動しています。すべてのコンテナーは、ホスト ディレクトリ /var/log/tips/ を同じ呼び出された内部ディレクトリにマウントします。最後のコンテナからのみ /var/log/tips にファイルが表示される問題:
- tipsi_solr と tipsi_erl には同じファイル セットがあります
- tipsi_web コンテナー (最後に起動されたコンテナー) には上記のファイルは表示されず、独自のファイルのみが表示されます
- ホスト ディレクトリには #2 (tipsi_web) からのファイルのみが含まれます
図を使用してコンテナを起動しています。使用される構成は次のとおりです。
興味深いことに、lsof は、tipsi_erl pid (ホストで起動) の存在しないファイルを表示します。
ただし、他のアプリではアクセスできません。
また、Dockerfile ですべてのコンテナーの VOLUME パラメータを指定して削除しようとしましたが、うまくいきませんでした。これらのファイルが表示されない理由はありますか?
mysql - Docker mysql ホストに特権がありません
mysql データベースに接続するように nodejs コンテナーを構成しようとしています。
私のコードは次のようになります。
標準のmysqlコンテナーを使用しています。
コンテナの起動に fig を使用しています。fig.yml は次のようになります。
接続しようとするたびに、次のエラーが表示されます。
私が間違っていることは何ですか?私はワードプレスをいじってみましたが、問題なく同じmysql dbに接続しているようです。
どうも!
編集 だから、私は最終的に答えを見つけました。問題は確かに特権の問題でした。次のコマンドを実行しました。
そして、データベースにアクセスできました。
amazon-web-services - Mesos、Marathon、クラウド、および 10 のデータ センター - 相互に対話する方法は?
多数の Web サイトをホストするために、Mesos、Marathon、および Chronos の組み合わせを検討しています。頭の中で、ラップトップにいくつかのコマンドを入力して、ビルドとデプロイが完了するまで約 30 分待つことができるはずです。
私の唯一の問題は、リソースが複数のデータ センター、多数のクラウド アカウント、および約 6 つのオンプレミスの場所に分散していることです。それらすべてをラップトップから制御できない理由がわかりません (ハードウェアに関しては、深刻な電源と制御の問題があります!)
私の最善のアプローチは、頭脳 (動物園の飼育係と少なくとも 1 つのマスター) をクラウドに構築してから、別のデータ センターを追加することだと考えていますが、分散クラスターの例をまだ見ていません。すべてのノードが互いに通信できるわけではありません。
誰でもこれを行う方法を推奨できますか?
google-app-engine - docker コンテナー内で実行されている Go (App Engine) アプリを再構築しますか?
通常、Go-Appengine のコマンドを使用して Go アプリを実行するとgoapp serve
、ファイルの変更が検出され、再ビルドが開始されます。
私は現在、Docker コンテナー内で Go-Appengineを実行して実験しています。サーバーは適切に起動しますが、ファイルを変更しても再ビルドは開始されません。どうすればこれを実現できますか?
私の個人的な経験から、ファイルの変更が検出されると、docker コンテナー内外で実行されている Django プロジェクトは同じように動作します。
git - マイクロサービス向けの合理化された開発環境を構築する方法
私はマイクロ サービス アーキテクチャについて考えていて、人々が開発環境の優れたベスト プラクティスを持っているかどうか疑問に思っていました。
私の作業上の仮定は、各マイクロ サービスは、分離と展開の容易さのために独自の git リポジトリに存在するということです。また、各開発者は、作業中のレポのフォークを作成すると想定しています。
私が検討している問題は、複数のマイクロサービスを含む問題に取り組んでいる場合に発生します。たとえば、あるマイクロ サービスに影響を与える欠陥と、それが別のマイクロ サービスを適切に消費する方法があります。
n 個のプロジェクトが欠陥に関係していると仮定すると、n 個の git リポジトリをチェックアウトし、それらが連携するように構成する必要があります。それぞれに Vagratefile と Dockerfile がある場合、n 個の VM を実行することになります。理想的には、Vagrant VM は 1 つだけで、各サービスは同じ VM 内の新しい Docker インスタンスになります。
git サブモジュールを含むマスター リポジトリ/プロジェクトが機能する可能性があります。これに関する問題は、一般的なマスター リポジトリ/プロジェクトを作成すると、サブ モジュールが開発者のフォークではなくアップストリームを指すようになることです。
私は現在、いくつかの構成、vagrant、および fig を含むマスター プロジェクトがそのトリックを行う可能性があると考えています。現在、このアプローチを実装する 2 つの方法を検討しています。
- 構成にいくつかのデフォルトを指定します。つまり、project_1 は ../project_id に配置する必要があります。
- ユーザーの github アカウントに基づいてサブモジュールを作成するスクリプトを提供します。これにより、ユーザーのフォークのリモートと上流プロジェクトのリモートが作成されます。
他の誰かがこの問題を解決しましたか、または良いワークフローを持っていますか?
nginx - Boot2Docker/Fig マウントされたボリュームが更新されない
boot2docker ホスト vm を介して OS X ディレクトリをマウントするために fig を使用しています。既に提供されている Users ディレクトリを使用しています。次のことを試してください。
/code/Tryme.txt - 「こんにちは」
- ボリューム: /Users//code:/code
- nginx サーバーを起動し、/code からコードを提供します。
- nginx 経由でファイルを取得します。内容は「こんにちは」です。
Tryme.txt の内容を変更 - "Hello foobar"
ファイルを再度取得すると、元のテキスト「Hello there」が表示されます。
それで、私は何が欠けていますか?何か案は?コンテナーを停止して元に戻すと、ファイルは本来あるべき状態になります。画像を入力すると、ファイルも変更されます。
アイデア?
ありがとう。
更新:ファイルを提供するアプリケーションコードでもこれを確認しましたが、まだ変更されていません。これを迅速なターンアラウンドのための開発環境にしたかったのですが、期待どおりに機能していないようです。
docker - 兄弟ディレクトリを Docker イメージに追加する方法
兄弟のディレクトリを私のdockerイメージにコピーする方法はありますか?
ADD ../sibling_directory /usr/local/src/web/
これは許可されていません。Docker ドキュメントによると、Dockerfile でアクセスできるすべてのリソースは、Dockerfile 作業ディレクトリの下にある必要があります。
私のシナリオでは、共通のコード ベースからワーカー サービスを Web サービスから分割する過程にあり、実際にコードを物理的に分離することなく、最初に論理的にそれを行いたいと考えています。
vagrant - Windows での Docker コンテナーの作成
そのため、Windows 環境では、boot2docker を起動して実行し、Docker Hub からコンテナーをプルすることは問題になりません。しかし、コンテナーを作成して実行したい場合、どうすればよいのでしょうか? fig の使用について読みましたが、fig は Windows 経由またはコンテナーからインストールされますか? コンテナからやってみたのですが、パーミッションエラーになることが多く、フォルダをCHOWNしてもコンテナ内でfigを呼べないという問題は解決しません。
開発環境として Windows で Boot2Docker 経由で docker を実行することさえ可能ですか? それとも、ホスト VM として Vagrant を使用し、その中で多数の Docker コンテナーを操作する必要がありますか?
いくつかの説明と方向性をいただければ幸いです。