タグ付けされた質問 「containers」

Docker、LXC、FreeBSD Jails、OpenBSD sysjails、Solaris Containers、WPARなど、特定のコンテナーテクノロジーに該当しないコンテナーに関する一般的な質問に使用します。特定のテクノロジーが質問に関連していない場合にも使用します。

5
コンテナで1つのプロセスのみを実行することが推奨されるのはなぜですか?
多くのブログ投稿および一般的な意見では、「コンテナごとに1プロセス」ということわざがあります。 なぜこのルールが存在するのですか?すべてのプロセスが機能する必要がある単一のコンテナでntp、nginx、uwsgiなどのプロセスを実行してみませんか? このルールに関するブログ投稿: 「コンテナごとの単一プロセスは、Dockerアプリケーションの推奨設計パターンです。」 「Dockerは、単一プロセスまたは単一サービスのコンテナを作成するためだけのものです。」 「コンテナごとに1つのプロセスを使用する方が良い」 「単一のサービスをコンテナとして実行する」 「コンテナごとに1つのプロセス」 「コンテナごとに1つのプロセス」

3
Dockerをデータベースに使用しない理由は何ですか?
私はDockerのユースケースについて友人と議論しています。チームの1人の男は、あらゆる種類のDockerを使用したいと考えています-ユニバーサルUNIXプロセスラッパーのようなもの。もう1人は、DockerはマイクロサービスやAWS Lambdaスタイルのアプリなどのステートレスアプリケーションにのみ使用すべきだと考えています。 両方の概念実証を設計しました。Dockerクラスターには、Dockerホストのマウント時にマウントされる共有ドライブがあり、コンテナー内のデータベースがマウントされている場合は、単に共有ドライブにボリュームをマウントします。 私の友人は、相反する証拠を見せられたにもかかわらず、彼の立場に固執しています。(彼はまた、Dockerがスタックに複雑さを追加することで不必要なリスクを追加すると主張しています。) 私は彼の視点を聞いて理解しようとしています。共感の行為だけでなく、彼とのより良い理由にも。(私たちは皆、非常にうまくやっています-それで、これはインジェストと真剣な議論の混合です)。 質問の背後にある質問の種類は次のとおりです。データベースは牛ですか?このコメントは、データベースの適切な自動化されたバックアップおよび取得戦略が、牛サーバーと見分けがつかないことを示唆しています。 私の質問は、Dockerをデータベースに使用すべきでない理由は何ですか? 編集: 人々は私の用語を明確にするように私に頼みました。データベースアプリケーションはコンテナにあり、ストレージはボリュームにあると想定していました。つまり、RDBMSはコンテナ内にあり、データベースストレージはボリューム内にあります。 一部のコメンテーターは、ドッカーボリュームドライバーがデータベースの書き込みでうまく機能しないことを示唆しています。(またはその効果をもたらすもの)。それについて詳しく説明していただけますか?

4
コンテナとは何ですか?
次のようなコンテナに関するいくつかの質問があります。 構成管理ツールは、不変のインフラストラクチャでどのような役割を果たしますか? コンテナオーケストレーションはどの問題を解決しますか? AWSのシンプルなCI / CDコンテナー 私の質問: (DevOpsのコンテキストで)実際に「コンテナ」とは何ですか? なぜ使用されるのですか?

2
アプリケーション構成はどこに置くべきですか?
私は最近、「環境に依存するプロパティをどこに保存すべきか」という議論を読んでいます。 従来の方法は、環境ごとに複数のプロパティファイルを作成し、環境変数(DEV、PROD ...)に基づいて、アプリケーションの起動時にそれらを読み込む場所を選択することです(Springプロファイルなど)。 一方、コンテナを使用してアプリケーションを展開している場合、この種の構成は環境自体から(アプリケーションが読み取る環境変数を使用して)取得する必要があるため、イメージは環境間で変化しません。 各アプローチの長所と短所は何ですか?コンテナシナリオに「最適な」アプローチはありますか?


3
AWSのシンプルなCI / CDコンテナー
AWS Code Pipeline、Code Buildを使用して新しいDockerコンテナーを作成し、ECRにプッシュしています。 私のアプリケーションは、シンプルで単純な単一コンテナーベースです。現在実行中のコンテナをプルダウンし、ECSレジストリから新しいコンテナを再起動するための摩擦の少ないアプローチ(コードパイプラインを介したコードビルドの出力)。 EC2ユーザーデータを使用してCloudFormationを試し、一方にカスタムスクリプトを、もう一方にECSを使用してCloudFormationを試しました(まだ成功していません)。もっと明確でシンプルなアプローチが必要だと強く感じています。

2
chrootとDockerの違い
dockerとchrootの違いがわかりません。はい、レジストリのパッケージ化の点でいいです。しかし、どういうわけか私は余分なベルとホイッスルを備えたちょうどそのchrootの感じを得る。 何かが足りないのはわかっています。それらがどのように異なっているか、そしてchrootが同様のことをすることができるならdockerの必要性を知ることは素晴らしいことでしょう。 私はこのChroot対Dockerも十分に明確に見つけることができませんでした。

2
Dockerコンテナーで停止したメインプロセスを調査するにはどうすればよいですか?
停止しているコンテナや、起動後に非常に速く停止して停止するコンテナを調査する必要がある場合があります。 docker exec -ti <id> bash 実行中のコンテナでのみ機能し、終了すると、bashプロンプトも終了します。 ではdocker start、あなたは別のコマンドを供給することができない、とコンテナが突然再び死ぬ場合は、コンテナに入ると、あなたの調査を行うのに十分な時間がありません。 我々は行うことができdocker commit、その後、docker run別のコマンドを使用して新しいイメージではなく、他の選択肢がある場合、私は思ったんだけど。 注:docker logs印刷されたアプリをstdout / stderrに返すだけです。それは問題が何であったかを理解するのに十分ではないかもしれません。

2
Dockerコンテナーの容量計画
8つの3.2 GHz仮想CPUと32 GBの4つの仮想マシンでアプリケーションを実行していますが、プロセスを個別のコンテナーに分割します。 ホストごとに実行するコンテナの数がわかりません。典型的な数字は何ですか?たとえば、VMとベアメタルサーバーの比率が一般的に1:10である場合、考慮すべき属性のリンク、考慮すべき決定フレームワークまたはエクスペリエンスが役立ちます。

2
Docker SwarmとKubernetesを組み合わせる
私の会社は、DevOpsスペースで少し遅れを取り戻そうとしています。私は、アプリケーションのコンテナ化とそれに伴うオーケストレーションシステムについて、多くの研究を行ってきました。より良い機能を得るためにSwarmとKubernetesを組み合わせることについて彼らが話していた記事(私が救いたいもの)に出会いました。この記事では、彼らがそれによって得たものを定義しませんでした。 私はこれがどんな利益をもたらすのだろうかと思いましたか?複雑さの層を追加することで、本当に多くの利益が得られるでしょうか? 編集:私は技術的な賛否両論を探しています。KISSは良いモットーですが、CEOや取締役会との議論に遅れを取ることはありません。 コンテナにはDockerを選択し、オーケストレーションにはSwarmを選択することをほぼ確信しています。しかし、私は私たちのスペースでKubernetesを見てみたいので、より堅牢なソリューションのためにテクノロジーを統合できるという提案が興味をそそります。

2
構成管理ツールは、不変のインフラストラクチャでどのような役割を果たしますか?
不変のサーバー/コンテナを使用している場合、Chef、Puppet、Ansible、Saltなどのツールが必要ですか?これらの構成管理ツールは、構成を確立してから維持するように設計されています。 不変サーバーを展開する場合、構成管理ツールは初期プロビジョニングにのみ使用する必要がありますか?

2
Azureで、短期間有効なDockerコンテナーをスケジュールに従って実行するにはどうすればよいですか?
AzureコンテナーレジストリでホストされているAlpine Linux Dockerコンテナーにパッケージ化されたかなり単純なUnixシェルスクリプトがあります。VMはこのスクリプトをcronで実行します。 docker login <snip> docker pull example.com/bar:latest docker run example.com/bar:latest VMなしで実行し、代わりにAzureサービスを使用できますか?おそらく、Azure Container Instanceでこれを実行するある種のスケジューラを使用できますか? 私の動機は、VMの維持と支払いを望んでいないことです。


2
Dockerでは、コンテナをOSに依存しないようにできますか?
現在、Windowsベースのサーバーを使用して2つのVMをホストしています。1つのVMはWindowsアプリでWindowsを使用し、もう1つのVMはLinuxアプリでLinuxを使用します。 以下のシナリオは可能ですか? Windows 2016(VMなし)を備えたベアサーバー。Dockerエンジンをインストールします。Windowsアプリコンテナーをインストールします。Linuxアプリコンテナーをインストールします。 DockerエンジンはOSを抽象化して、この構成で両方のアプリを実行できるようにしますか?Dockerエンジンは、JavaコードをさまざまなOSで実行する方法に似た「インタープリター」として機能するという意味ですか?

1
Webアプリケーションのワーカープロセスを別のコンテナーに配置する必要がありますか?
私のセットアップは、PostgreSQLとRedisデータベースを持つFlaskアプリに基づいています。さらに、ワーカープロセスは、電子メールの送信などの非同期タスクを処理するために開始されます。私はGunicornを使用して複数のアプリプロセスを作成しています。アプリプロセスからワーカープロセスへのジョブの受け渡しは、Redisを介して行われます。 問題は、同じコードに基づいているにもかかわらず、ワーカープロセスを別のコンテナーで開始する必要があるかどうかです。現在、私は関連するビットで開始スクリプトを使用しています: gunicorn --bind=0.0.0.0:8000 --workers=3 manage:app & python -u manage.py run_worker また、それらを分離する必要がある場合、どのようにして、共通のファイルシステムコンテナーを確実に再利用することができますか?さらに、メインアプリまたはワーカープロセスでGunicornをスケーリングする場合、コンテナーの追加インスタンスを作成するか、コンテナー内のプロセス数を増やす必要がありますか? 関連:異なるコンテナーでnginxとphpをドッキングする利点は何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.