多くの人は最終的に、問題を解決するために Docker を使用することを決定します。 Docker には次のような多くの利点があります。
それにもかかわらず、多くのユーザーは依然としてコンテナを一般的な仮想マシンとしてのみ扱い、コンテナの重要な機能を忘れています。 使い捨て この機能のため、一部のユーザーはコンテナの概念を変更する必要があります。 Docker コンテナをより有効に活用し、その価値を最大限に高めるために、絶対にしてはいけないことがいくつかあります。 1. コンテナにデータを保存しないでください。コンテナは中断、置換、または破壊される可能性があります。コンテナ内で実行されているアプリケーションのバージョン 1.0 は、データに影響を与えたりデータ損失を引き起こしたりすることなく、バージョン 1.1 に簡単に置き換えることができます。したがって、データを保存する必要がある場合は、ボリュームに保存します。この場合、2 つのコンテナが同じボリュームにデータを書き込むと破損が発生する可能性があるため、注意が必要です。アプリケーションが共有データ ストアへの書き込みに適していることを確認してください。 2. アプリケーションを 2 つの部分に分けて出荷しないでください。コンテナーを仮想マシンと考える人もいるため、ほとんどの人は、アプリケーションを既存の実行中のコンテナーにデプロイする必要があると考えます。これは、継続的にデプロイとデバッグを行う必要がある開発フェーズでは当てはまるかもしれませんが、QA と本番の継続的デリバリー (CD) パイプラインでは、アプリケーションはイメージの一部である必要があります。覚えておいてください: コンテナは一時的なものです。 3. 大きな画像を作成しない 大きな画像は配布しにくくなります。アプリケーションを実行するには、必要なファイルとライブラリのみを使用するようにしてください。不要なパッケージをインストールしないでください。また、新しいイメージ レイヤーに大きなファイルをダウンロードする「update」(yum update) を実行しないでください。 4. シングルレイヤーイメージは使用しないでください。マルチレイヤーファイルシステムを効果的に使用するには、必ずオペレーティングシステム用の独自のベースイメージレイヤーを作成し、次にユーザー名定義用のレイヤー、ランタイムインストール用のレイヤー、構成用のレイヤー、最後にアプリケーション用のレイヤーを作成します。これにより、イメージの再作成、管理、配布が容易になります。 5. 実行中のコンテナからイメージを作成しないでください。つまり、イメージを作成するために「docker commit」コマンドを使用しないでください。この画像作成方法は再現不可能なので、完全に避けるべきです。ソース管理リポジトリ (GIT) に保存されている場合に Dockerfile への変更を追跡できるように、常に Dockerfile またはその他の完全に再現可能な S21 (ソースからイメージ) アプローチを使用します。 6. 「latest」タグだけを使用しないでください。latest タグは、Maven ユーザーにとって「SNAPSHOT」のようなものです。コンテナは多層ファイルシステムという基本的な特性を持っているため、タグの使用を推奨します。数か月かけてイメージをビルドした後、親レイヤー (つまり、Dockerfile の FROM) が新しいバージョンに置き換えられたために (新しいバージョンに下位互換性がないか、ビルド キャッシュから取得した「最新」バージョンが間違っているため)、アプリケーションを実行できないことが判明するのは誰も望んでいないと思います。また、コンテナを本番環境にデプロイするときは、「最新」タグの使用を避ける必要があります。これは、現在実行されているイメージのバージョンを追跡することが不可能だからです。 7. 1 つのコンテナで複数のプロセスを実行しないでください。コンテナは 1 つのプロセス (HTTP デーモン、アプリケーション サーバー、データベース) のみを実行する場合に最も効果的に機能しますが、複数のプロセスを実行すると、ログの管理と取得、およびプロセスを個別に更新するときに多くの問題が発生します。 8. 証明書をイメージに保存したり、環境変数を使用したりしないでください。画像内にユーザー名やパスワードをハードコードしないでください。環境変数を使用して、コンテナ外部から情報を取得します。 Postgres ミラーリングはこの原則の素晴らしい例です。 9. ルート権限でプロセスを実行しない 「デフォルトでは、Docker コンテナはルート ユーザー権限で実行されます。(…) Docker テクノロジが成熟するにつれて、より安全なデフォルトが利用可能になります。現在、ルートを要求することは他のユーザーにとって危険であり、すべての環境でルートにアクセスできるわけではありません。イメージでは、USER ディレクティブを使用して、コンテナを実行するための非ルート ユーザーを指定する必要があります。」 (Docker イメージ作成者向けガイダンスより) 10. IP アドレスに依存しない 各コンテナには独自の内部 IP アドレスがあり、コンテナを起動して停止すると変更される可能性があります。アプリケーションまたはマイクロサービスが別のコンテナと通信する必要がある場合は、環境変数を使用してコンテナ間で適切なホスト名とポートを渡します。 11. コンテナの監視 Docker 監視は開発者からますます重視されるようになっています。 Docker のリアルタイム監視には、Cloudinsight が推奨されます。自分で作成したスクリプトを必要とする一部の監視方法とは異なり、無料の SaaS サービスである Cloudinsight では、ワンクリックで Docker を監視でき、優れたビジュアル インターフェイスを備えています。さらに、Cloudinsight は複数のオペレーティングシステムやデータベースなどの監視もサポートしており、監視対象のすべてのシステムインフラストラクチャコンポーネントのパフォーマンスデータを統合的に表示できます。 |
<<: Commvault と Alibaba Cloud が協力し、ハイブリッド クラウド データ管理ソリューションを提供
>>: Huayun Dataがデュアルテクノロジースタックのエンタープライズレベルのハイパーコンバージェンス製品ラインをリリースし、ハイパーコンバージェンス市場に正式に参入
revivehostは2009年にゲームサーバー事業として設立され、その後、通常のVPSサービスの提...
10年以上運営され、優れた評判を持つ「Aoyou Host」は、今月、米国ロサンゼルスのマルチコムデ...
1月10日、知的財産出版社i Think Tankは「中国インターネットクラウド技術特許分析レポート...
Shopexオンラインストアシステムは、中国で最も広く使用されているオンラインストアシステムです。そ...
正直に言うと、この夏はゴシップでいっぱいです。毎週、企業や有名人を巻き込んだスキャンダルがあり、さま...
ティエン・チンさんは「私は自分の青春をタオバオに捧げました」と冗談を言った。私は毎日、目を開けるとす...
現在、Weibo を通じたマーケティングは重要な手段の 1 つになっています。Weibo はすぐに共...
記者は1月11日、国際データコーポレーション(IDC)が発表した「中国ビデオクラウド市場追跡(202...
現在、中国のクラウドコンピューティング市場は飛躍的に成長し、世界第2位の市場となっています。マッキン...
エッジコンピューティング + IoT クラウド プラットフォームは、大手企業間の強力な協力のハイライ...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン今年、電子商取引の分野では、Pinduo...
最新ニュース: Bandwagonhost の CN2 VPS が正式に China Unicom ...
2018年4月22日 - 福建省福州市の福州海峡国際会議展示センターで第1回デジタル中国建設成果サミ...
はじめに: 私の個人的な経験に基づいて、個人のマーケティングの可視性を構築する方法について書きます。...
実のところ、この記事は 2013 年の終わりには書くべきだったのですが、今日まで延期されました。もち...