Docker コンテナで避けるべき 10 のこと

Docker コンテナで避けるべき 10 のこと

コンテナが企業の IT インフラストラクチャに欠かせない要素となっていることは間違いありません。次のような多くの利点があります。

  • まず、コンテナは不変です。つまり、オペレーティング システム、ライブラリのバージョン、構成、フォルダー、アプリケーションはすべてコンテナ内にパッケージ化されます。 QA でテストしたのと同じイメージが、同じ動作で本番環境に到達することを保証します。
  • 2 つ目: コンテナは軽量です。コンテナのメモリ フットプリントは小さくなります。コンテナは、数百または数千 MB ではなく、メイン プロセスにのみメモリを割り当てます。
  • 3 つ目: コンテナは非常に高速です。一般的な Linux プロセスを開始するのと同じくらい速くコンテナを開始できます。新しいコンテナを数分ではなく数秒で起動できます。

しかし、多くのユーザーは依然としてコンテナを一般的な仮想マシンのように扱い、コンテナには使い捨てであるという重要な特性があることを忘れています。

この特性により、ユーザーはコンテナの取り扱いと管理方法に関する視点を変える必要に迫られます。では、コンテナを最良の状態に保つにはどうすればよいでしょうか? Docker コンテナで避けるべき 10 のことを紹介します。

1. コンテナは停止、破壊、または交換できるため、コンテナにデータを保存しないでください。コンテナ内で実行されているアプリケーションのバージョン 1.0 は、影響やデータ損失なしに、バージョン 1.1 に簡単に置き換えられる必要があります。したがって、データを保存する必要がある場合は、バッチで保存します。この場合、2 つのコンテナーが同じボリュームにデータを書き込むと破損する可能性があるため、注意が必要です。アプリケーションが共有データ ストアに書き込むように設計されていることを確認してください。

2. 申請書を 2 部に分けて提出しないでください。コンテナを仮想マシンのように考える人もいますが、ほとんどの人は、実行中の既存のコンテナにアプリケーションをデプロイする必要があると考えがちです。開発フェーズでは、継続的にデプロイとデバッグを行う必要があります。これは当然のことです。ただし、QA および本番環境向けの継続的デリバリー (CD) パイプラインの場合、アプリケーションはイメージの一部である必要があります。

3. 配布が難しくなるため、大きな画像を作成しないでください。アプリケーション/プロセスを実行するために必要なファイルとライブラリのみがあることを確認してください。不要なパッケージをインストールしたり、多くのファイルを新しいイメージ レイヤーにダウンロードする「更新」を実行したりしないでください。

4. 単層の画像は使用しないでください。階層化ファイル システムを効果的に利用するには、オペレーティング システム用の独自のベース イメージ レイヤー、ユーザー名の定義用の別のレイヤー、ランタイム インストール用の別のレイヤー、構成用の別のレイヤー、最後にアプリケーション用の別のレイヤーを必ず作成します。画像の再作成、管理、配布が容易になります。

5. 実行中のコンテナからイメージを作成しないでください。つまり、イメージを作成するために「docker commit」を使用しないでください。この画像作成方法は再現不可能なので、完全に避けるべきです。常に完全に再現可能な Dockerfile またはその他の S2I (ソースからイメージ) アプローチを使用してください。Dockerfile をソース管理リポジトリ (git) に保存すると、Dockerfile への変更を追跡できます。

6. 「latest」タグだけを使用しないでください。Maven ユーザーにとって、latest タグは「SNAPSHOT」のようなものです。コンテナの階層化ファイルシステムの性質上、タグの使用が推奨されます。数か月後にイメージをビルドし、親レイヤー (Dockerfile の FROM) が下位互換性のない新しいバージョンまたはバグのあるバージョンに置き換えられ、ビルド キャッシュから「最新」バージョンが取得されたためにアプリケーションが実行されないことがわかっても、驚くことはありません。また、コンテナを本番環境にデプロイするときには、「最新」タグの使用を避ける必要があります。そうしないと、実行しているイメージのバージョンがわからなくなってしまいます。

7. 単一のコンテナ内で複数のプロセスを実行しないでください。コンテナは単一のプロセス (http デーモン、アプリケーション サーバー、データベース) を実行するのに最適ですが、複数のプロセスがある場合は、プロセスを個別に管理、ログを取得、更新するのが面倒になる可能性があります。

8. 資格情報を画像に保存しないでください。環境変数を使用してください。イメージ内にユーザー名やパスワードをハードコードしないでください。環境変数を使用して、コンテナ外部からその情報を取得します。この原則の良い例は、Postgres ミラーリングです。

9. プロセスを root ユーザーとして実行しないでください。 「デフォルトでは、Docker コンテナはルート ユーザーとして実行されます。Docker が成熟するにつれて、より安全なデフォルトが提供される場合があります。現在、ルート ユーザーを要求することは他のユーザーにとって危険であり、すべての環境で利用できるとは限りません。イメージでは、USER ディレクティブを使用して、コンテナを実行するための非ルート ユーザーを指定する必要があります。

10. IP アドレスに依存しないでください。各コンテナには独自の内部 IP アドレスがあり、コンテナを起動および停止すると変更される可能性があります。アプリケーションまたはマイクロサービスが別のコンテナと通信する必要がある場合は、環境変数を使用して、正しいホスト名とポートをあるコンテナから別のコンテナに渡します。

<<:  ハイブリッドクラウドは重要なデータの潜在的な漏洩を減らすことができる

>>:  進化: Web プロキシ サーバーから分散プッシュ サーバーへの Tengine

推薦する

コンテンツの再パッケージ化により、ウェブサイトのコンテンツがより目立つようになります

コンテンツの再パッケージ化は、最も強力なコンテンツ マーケティング戦略の 1 つです。この用語はあま...

全国人民代表大会はネットワーク情報保護に関する決定草案を審議する

北京の新華社通信が12月19日に伝えたところによると(楊維漢記者)、インターネット技術の広範な応用と...

動画SEOのボトルネックを5つの側面から改善する

当サイトにとって、ビデオの使用はユーザーエクスペリエンスを向上させる優れた手法であることは間違いあり...

Weiboマーケティングとは?セレブのセルフマーケティングの秘訣をチェック

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス鄧超は「走れ!男」の演技...

推奨: vpsdime-$7/6g メモリ/30g SSD/2T トラフィック/4 データセンター

vpsdime に新しいデータセンターが追加されました。今回は、英国のデータセンターが追加されました...

Ecarx TechnologyとBaidu Netdiskが協力し、車両端末データのクラウド管理機能を公開

デジタル化は自動車業界における変化の一般的な傾向です。 Ecarx Technologyは、自動車メ...

決済+マーケティング:Wocheng Paymentは加盟店にワンストップソリューションを提供します

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています近年、外食...

注: HostGa の「言葉にできない」公式中国語サイトの説明

最近、一部のネットユーザーから、HostGa「Undescribable」が中国語のウェブサイトを開...

#クリスマス# desivps: 年間 22 ドル、ロサンゼルス VPS、1Gbps 帯域幅、無制限トラフィック、3 回の無料 IP 変更、中国語 Windows をサポート

desivps は、クリスマスと年末のプロモーション、米国西海岸のロサンゼルス データ センター、1...

ウェブサイトの最適化中にウェブサイトのランキングをより効果的に向上させる方法

SEO 最適化担当者の心の中では、最適化されていない Web サイトは、どれほど美しくてもゴミです。...

#Dry Goods# spryservers: Phoenix\Dallas の VPS および専用サーバーは、購入すると無料で入手できます。

現在から 11 月 27 日まで、Spryservers は特別プロモーションを実施しています。ドメ...

イノベーションは止まらず、アップデートは無限に続くQingCloud Cloud Easyは、強固なクラウド基盤を構築し続けています。

デジタル時代に最も欠かせないテクノロジーは何でしょうか?おそらくあなたは「クラウド ネイティブ」と口...

直線対曲面、曲面は超薄型製品の未来のリーダーに挑戦できるでしょうか?

はじめに: サムスンや LG など多くのカラーテレビメーカーが推進する曲面 LED バックライト付き...

投稿した外部リンクが無効なのはなぜですか?

2013 年、ほとんどのウェブマスターは、外部リンクを公開する以前の方法はもはや実用的でも効果的でも...

SEOブログをマーケティングする方法について簡単に説明します

みなさんこんにちは。私はShi Touです。最近、SEOブログが復活して、大流行しています。どの街に...