Docker の初心者村から始めますか?必要なのは次の11のルールです

Docker の初心者村から始めますか?必要なのは次の11のルールです

多くの人は最終的に、問題を解決するために Docker を使用することを決定します。 Docker には次のような多くの利点があります。

  • 統合 - オペレーティング システム、ライブラリ バージョン、構成ファイル、アプリケーションなどをコンテナーにパッケージ化します。これにより、QA によってテストされたイメージが実稼働環境に同じ動作をもたらすことが保証されます。
  • 軽量 - メモリをほとんど消費せず、メインプロセスにのみメモリを割り当てます。
  • 高速読み取り - 一般的な Linux プロセスを開始するのと同じくらい高速なワンクリック起動。

それにもかかわらず、多くのユーザーは依然としてコンテナを一般的な仮想マシンとしてのみ扱い、コンテナの重要な機能を忘れています。

使い捨て

この機能のため、一部のユーザーはコンテナの概念を変更する必要があります。 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: 年間 4.8 ドルから利用できる安価な米国 VPS、512M メモリ/1 コア/7g SSD/無制限トラフィック

revivehostは2009年にゲームサーバー事業として設立され、その後、通常のVPSサービスの提...

Aoyou Host: 20% オフ、(3 つのネットワーク) US cn2 gia vps、200M 帯域幅、54 元/月、2G メモリ/1 コア/30g SSD/500g トラフィック

10年以上運営され、優れた評判を持つ「Aoyou Host」は、今月、米国ロサンゼルスのマルチコムデ...

クラウド技術特許出願ランキングが発表され、テンセント、アリババ、360がトップ3にランクイン!

1月10日、知的財産出版社i Think Tankは「中国インターネットクラウド技術特許分析レポート...

Shopex モールのウェブサイトの SEO 最適化に関する経験の共有

Shopexオンラインストアシステムは、中国で最も広く使用されているオンラインストアシステムです。そ...

李佳奇とシンバの背後にいるPRの立役者

正直に言うと、この夏はゴシップでいっぱいです。毎週、企業や有名人を巻き込んだスキャンダルがあり、さま...

タオバオのショップオーナーは、長期にわたる過重労働により、頻繁に過労死している。やめたくてもやめられないのだ。

ティエン・チンさんは「私は自分の青春をタオバオに捧げました」と冗談を言った。私は毎日、目を開けるとす...

微博マーケティングを成功させる鍵を簡単に分析:トピック選択のスキルを習得する

現在、Weibo を通じたマーケティングは重要な手段の 1 つになっています。Weibo はすぐに共...

スムーズで信頼性が高く、安全なF5は、企業が簡単にクラウド移行を実現できるよう支援します。

現在、中国のクラウドコンピューティング市場は飛躍的に成長し、世界第2位の市場となっています。マッキン...

エッジコンピューティング + モノのインターネットはどのような火花を散らすのでしょうか?

エッジコンピューティング + IoT クラウド プラットフォームは、大手企業間の強力な協力のハイライ...

商品の自己増殖マーケティングを設計する方法

月収10万元の起業の夢を実現するミニプログラム起業支援プラン今年、電子商取引の分野では、Pinduo...

BandwagonHost - ロサンゼルス CN2 回線 VPS が正式に中国聯通/Alipay 決済に接続

最新ニュース: Bandwagonhost の CN2 VPS が正式に China Unicom ...

清華紫光集団の「チップからクラウドへ」戦略は「デジタル中国」に中核技術サポートを提供する

2018年4月22日 - 福建省福州市の福州海峡国際会議展示センターで第1回デジタル中国建設成果サミ...

パーソナルマーケティングの可視性を構築するにはどうすればよいでしょうか?

はじめに: 私の個人的な経験に基づいて、個人のマーケティングの可視性を構築する方法について書きます。...

アリババ:注目を集めるSEO

実のところ、この記事は 2013 年の終わりには書くべきだったのですが、今日まで延期されました。もち...