問題タブ [coreos]

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.

0 投票する
6 に答える
28510 参照

docker - CoreOS での再起動後に Docker コンテナを自動再起動する方法は?

OS の再起動時に init.d または systemd のようなプロセスによって Docker デーモンが自動的に再起動されると仮定すると、1 つまたは複数の Docker コンテナーを再起動するための推奨される方法は何ですか? たとえば、リバース プロキシまたはデータベース サーバーの背後に多数の Web サーバーがあるとします。

0 投票する
1 に答える
1270 参照

docker - Dockerコンテナはホストとは異なるフレーバーをどのように持つことができますか

Linux コンテナーに関する私の理解では、各コンテナーは同じホスト カーネルを使用し、コンテナーへのインストールはホスト上の分離されたファイル システム レイヤーにすぎません。

私はcoreosの入門ガイドを読んでいました。Coreos を含むホストで ubuntu コンテナを起動する方法を示しています。

これはどのように可能ですか?ホストとコンテナーで異なるフレーバーを使用するにはどうすればよいですか?

ありがとう、ムルタザ

0 投票する
1 に答える
1637 参照

cluster-computing - CoreOS で etcd を使用してサービス検出を行うときに古いデータを処理する方法は?

私は現在 CoreOS をいじくり回しており、それに基づいてクラスターを作成しています。これまでのところ、単一ホストでの CoreOS のエクスペリエンスは非常にスムーズです。しかし、サービス ディスカバリに関しては、少し曖昧になります。どういうわけか全体的なアイデアが得られないため、ここで助けを求めています。

私がやりたいことは、最初のコンテナーが 2 番目のコンテナーに依存する 2 つの Docker コンテナーを実行することです。純粋な Docker について話している場合は、リンクされたコンテナーを使用してこれを解決できます。ここまでは順調ですね。

ただし、Docker は複数のホスト間でコンテナーをリンクできないため、このアプローチはマシンの境界を越えては機能しません。だから私はこれを行う方法を考えています。

私がこれまでに理解したのは、これに対処する方法に関するCoreOSのアイデアは、etcd基本的にポートを介して各ホストでローカルにアクセスできる分散キー値ストアであるサービスを使用することであるという4001ことです。したがって、対処する必要はありません( の消費者としてetcd) ネットワークの詳細: アクセスするだけlocalhost:4001で問題ありません。

したがって、私の頭の中では、サービスを提供する Docker がスピンアップすると、自分自身 (つまり、その IP アドレスとそのポート) を local に登録し、Dockeretcd全体etcdに情報を配布することを意味するという考えが浮かびました。通信網。このようにして、たとえば次のようなキーと値のペアを取得します。

現在、別の Docker コンテナが にアクセスする必要がある場合、少なくともネットワーク全体に情報が配布された後は、RedisService独自のローカル から IP アドレスとポートを取得します。etcdここまでは順調ですね。

しかし今、私には答えられない質問があり、それはすでに数日間私を困惑させています: サービスがダウンするとどうなりますか? 内のデータをクリーンアップするのは誰etcdですか? クリーンアップされていない場合、すべてのクライアントが存在しないサービスにアクセスしようとします。

現時点で私が考えることができる唯一の (信頼できる) 解決策はetcd、データに の TTL 機能を利用することですが、これにはトレードオフがあります: 数秒ごとにハートビートを送信する必要があるため、ネットワーク トラフィックが非常に多い、または古いデータと一緒に暮らす必要があります。どちらもいいじゃない。

私が考えることができるもう 1 つの「解決策」は、サービスがダウンしたときにサービス自体を登録解除することですが、これは計画的なシャットダウンに対してのみ機能し、クラッシュや停電などに対しては機能しません …</p>

それで、あなたはこれをどのように解決しますか?

0 投票する
0 に答える
577 参照

linux - Vagrantfileで接続されたVirtualBoxストレージデバイスへのパスを確実に取得するには?

私の Vagrantfile では、VirtualBox を使用して、同じストレージ コントローラー上に任意のストレージ デバイスを動的に作成/マウントしようとしています (たとえば、読み取り専用ファイル システムでの永続化のため)、VM 上の特定のパス (Guest Additions、nfs などを使用しない)。現在、これを達成しようとして多くのフープ (以下の要点を参照) を飛び越えています。たとえば、私が試みているワークフローは次のとおりです。

  1. 指定されたイメージ パス (ホスト ファイル システム上の VDI、VMDK など) を使用して、VBoxManage createhd存在しない場合 (動作中)
  2. #1 のストレージ デバイスをVBoxManage storageattach(working)経由でストレージ コントローラに接続します。
  3. 接続されたストレージ デバイスのプライマリ パーティションを指定されたマウントポイントにマウントします (機能しません)。

したがって、各デバイスのこれまでのステップバイステップは次のとおりです(この要点、部分的に擬似コードを参照):

  1. デバイスの UUID を取得します (VBox に従って)
  2. ゲスト上のデバイスへの実際のパスを取得します (経由/dev/disk/by-uuid/<uuid>)
  3. デバイスが作成されたばかりの場合は、プライマリ パーティションを作成します
  4. デバイスをマウントします (オプションで、/etc/fstab永続化のために追加します)

問題は、特定のデバイスが で利用可能になると仮定/予測したくない/dev/sdXため、マウントされていないデバイスへの参照を (マウントするために) に取得する信頼できる方法を思いつかないことです。 VBox UUID とゲスト OS デバイスの UUID が一致していないように見えるため、これが重要です。それらは同じであるはずですか?そうでない場合、VBox 情報のみを使用して、ゲストのデバイス パスを確実に取得するにはどうすればよいですか? これを達成するためのより良い方法はありますか?

余談ですが、私は CoreOS (読み取り専用のルート マウントを持つ) でテストしており、この特定の目的のためにホストからゲスト追加機能や NFS を使用したくありません。意図的にストレージ デバイスを使用しようとしています。

0 投票する
2 に答える
1459 参照

macos - vagrant-coreos イメージは、再起動時に OS X の virtualbox 4.3.2 の共有フォルダーを削除します

VirtualBox のバージョン 4.3.2 を利用して、Mac OS X の Vagrant 内でこのCoreOS イメージを実行します。

イメージを起動すると、次のエラーが表示されます。

これは、ゲストの追加をサポートしていないように見えるOS X で VirtualBox を実行しているにもかかわらずです。

それにもかかわらず、共有フォルダーを手動で追加することはできますが、Settings -> Shared Foldersこれらはイメージの再起動時に保持されません。Auto-mountMake permanent

この CoreOS イメージには、セキュリティ ポリシーの一部としてランダムな再起動が含まれているため、再起動後に共有フォルダーが失われ、イメージを完全に削除して再作成しない限り共有フォルダーを取り戻すことができません。

なぜこうなった?

0 投票する
1 に答える
1297 参照

docker - CoreOS の同じ Docker コンテナーで 2 つのサービスを実行しますか?

私はDockerとCoreOSが初めてです。コンテナの概念と、それらが互いにどのように関係しているかについて、私は少し不明確だと思います。

カスタム サーバー (myserver と呼びます) と memcached サーバー (myserver のみがアクセスします) の 2 つのサービスを実行する CoreOS ベースのサーバーをセットアップしようとしています。

したがって、CoreOSマシンにmyserver.serviceファイルをインストールするところまで到達したと思います。これにより、次のような行を使用してupi myserverを正常に起動できます。

私の質問は、memcached サーバーを起動するために、CoreOS で新しい memcached.service ファイルを作成する必要があるかということです。その場合、カスタム サーバーと同じコンテナー "my_container" を使用する必要がありますか? 同じコンテナーを使用しない場合、myserver は memcached サーバーにアクセスできますか?

0 投票する
6 に答える
18786 参照

docker - Docker ホスト マシンをクリーンアップする方法

docker イメージ/コンテナー docker を作成/デバッグすると、システムにあらゆる種類のアーティファクトが残っているようです。(ある時点で 48 枚の画像制限がありました) しかし、最後に見たときは 20 ~ 25 枚の画像がありました。docker images.

したがって、包括的な質問は次のとおりです。

  • どのように適切にクリーンアップしますか?
  • 手動で画像を削除していたので、さらに届き始めました。は?
  • ホストに実際に割り当てる必要があるディスク容量はどれくらいですか?
  • 実行中のデーモンは、次回の再起動後に本当に再起動しますか?

そして、メタの質問... 私が尋ねていない、必要な質問は何ですか?

0 投票する
1 に答える
6820 参照

cloud-init - cloud-init はいつ実行され、データはどのように検索されますか?

私は現在 CoreOS を扱っており、これまでのところ全体的なアイデアとコンセプトは得られたと思います。まだ取得していないことの 1 つは、cloud-init.

cloud-initこれは、CoreOS の構成を行うプロセスであることを理解しています。私がまだ理解していないのは…</p>

  • CoreOS はいつ実行されcloud-initますか? 初回起動時?起動ごとに?…?
  • 構成データの場所をどのようにしてcloud-init知ることができますか? 私はそれがありconfig-drive、それは完全に理にかなっていることを見てきましたが、これが唯一の方法ですか? user-dataファイルの役割は正確には何ですか?…?
0 投票する
1 に答える
820 参照

coreos - CoreOS への Deis の手動インストール

VMWare イメージ ファイル経由で CoreOS をインストールしました。Deis.ioのインストール方法を知っている人はいますか? ドキュメントを読みましたが、そのほとんどは他のシステムに Deis をインストールする方法です。

0 投票する
1 に答える
458 参照

docker - Deis.io - 実行されていないアプリをデバッグするには?

アプリが突然動作しなくなり、アプリをデバッグする方法がわかりません。

私は以下を取得します:

また、デフォルトのnginxページを取得しています。

Proc ファイルは変更されていません。


私は使用しています:

3 つの CoreOS ノードを備えた Deis.io 0.8


ログが利用できない場合、これらのアプリのデバッグをどのように進めるか考えていますか?

うまくいけば、これは同じ状況で他の誰かにも役立つでしょう. :)

ありがとう!