[編集者注] Dockerはオープンソース化されて以来、大手企業から幅広い注目を集めています。おそらく今では、インターネット企業は、自社の運用・保守システムが Docker (または Pouch など) に基づいていない場合、自らをインターネット企業と呼ぶことを恥ずかしく思うでしょう。 この記事では、Docker の基本的な概念、初歩的な使用方法、Docker を使用すると効率が大幅に向上するシナリオについて簡単に紹介します。 原理 Docker に関する最も単純で、やや誤った理解は、「Docker は非常に優れたパフォーマンスを備えた仮想マシンである」というものです。 上で述べたように、これは多少誤った発言です。 Docker は従来の仮想マシン技術よりもはるかに高度です。具体的には、Docker はホスト マシン上のハードウェア セットを仮想化してからオペレーティング システムを仮想化することはありません。代わりに、Docker コンテナ内のプロセスをホスト マシン上で直接実行できるようになります (Docker はファイル、ネットワークなどを分離します)。このようにして、Docker は「より軽量になり、より高速に実行され、同じホスト マシン上でより多くのインスタンスを作成できるようになります。」 Docker には、イメージ、コンテナ、リポジトリという 3 つの主要な概念があります。
関連コマンド 1. インストール Dockerのインストールは非常に便利です。 macOS、Ubuntu などにはワンクリックインストールツールまたはスクリプトがあります。詳細については、公式の Docker チュートリアルを参照してください。 インストール後、ターミナルに docker と入力します。使用方法の説明が表示されれば、ほとんどの場合インストールは成功していることになります。 2. ベースイメージを見つける DockerHub などの Web サイトでは多くの画像が提供されています。通常は、そこからベースイメージとして画像を見つけて、その後の操作を続行します。 ここでは、Ubuntu ベースイメージを例にしてノード環境を構成します。 「リンクが長すぎる」ため、Docker Hubへの国内アクセスが遅くなる可能性があります。多くの国内メーカーが提供する画像アクセラレータが使用可能です。 3. ベースイメージを取得する docker pull コマンドを使用して、関連するハブ Web サイトからローカル コンピューターにイメージをプルします。同時に、プル処理中に、画像が複数の「レイヤー」に従ってプルされていることがわかります。
すべてのローカルイメージを表示するには、docker images を実行します。
4. Dockerコンテナを作成する docker create コマンドは、イメージからコンテナを作成し、コンテナ ID を出力します。
コンテナを実行するには、docker start を使用します。
実行中のコンテナを表示するには、docker ps を使用します。
docker exec を使用してコンテナに入ります。
docker run を使用して、コンテナを 1 つのステップで作成して実行し、コンテナに入ります。
5. コンテナにNode環境をインストールする コンテナに入った後の操作は通常の環境と同じです。シンプルなノード環境をインストールします。
6. コンテナをコミットして新しいイメージを作成する Ghost を使用して Windows をインストールするのと同じように、多くの場合、独自のイメージをカスタマイズし、その中にいくつかの基本環境 (上記のノードなど) をインストールして、必要な基本イメージを作成したいと考えています。ここで docker commit が役に立ちます。
次に、新しく作成した画像を試してみましょう。
大丈夫そうですね。 7. イメージをDocker Hubにプッシュする 画像が作成されたので、それを他の人とどのように共有しますか?ここでは、Docker Hub にプッシュする例を取り上げます。 最初のステップは、docker hub にアカウントを登録し、ターミナルでそのアカウントにログインしてプッシュすることです。
8. Dockerfileを使う時が来た 継続的インテグレーションに Docker を使用していますか? Docker について知る前にこれを聞いたことがあるはずですが、これはどこかからコードをコピーして実行する必要があることを意味します (はい、少し travis-ci に似ています)。 Dockerfile の時間です! Dockerfile は、一連のコマンドとパラメータで構成されるスクリプトです。 docker build を使用してスクリプトを実行し、イメージをビルドして自動的に何かを実行します (travis-ci の .travis.yml に似ています)。 Dockerfile の形式は次のとおりです。
ベースイメージは、FROM BASE_IMAGE から指定する必要があります。 より詳細な仕様と手順については、Dockerfile リファレンスを参照してください。ここでは、上記の rccoder/myworkspace:v1 をベースイメージとして、例としてルートディレクトリにディレクトリを作成します。 Dockerfile は次のとおりです。
次に以下を実行します:
Dockerfile の力により、Docker には無限の可能性が残されています。 何ができるか ここまで述べてきましたが、実際の運用環境で Docker は何ができるのでしょうか?よく使われるものは以下のとおりです(コメントに追加してください) 1. 複数環境の展開切り替え ビジネス開発においては、開発環境とオンライン環境を区別する必要があることがよくあります。 Docker を使用すると、開発環境のコードと環境をそのまま汚染なくオンライン環境に移行できます。特定の自動化プロセスと組み合わせることで、自動リリースを実現できます。 2. フロントエンドクラウド構築 node_modules の厄介な問題により、同じリポジトリで開発している複数の人が、異なるパッケージ バージョンを使用している複数の人に遭遇することが多く、他の人と異なるバージョンを使用していることに気付かないこともあり、最終的にはリリース後にオンラインの問題が発生します。 Docker を使用すると、クラウド内に新しいコンテナを作成し、汚染なく低コストでリモートでコードをビルドし、さまざまな人が同じバージョンを使用することを保証できます。 3. 複雑な環境でもワンクリックで設定 シナリオによっては、非常に複雑な環境を構成する必要がある場合があります (たとえば、新入生は Java 環境を構成する必要があります)。この場合、Docker を使用して環境構成をカプセル化し、低コストで誰でも使用できるイメージを直接生成できます。 4. 継続的インテグレーションユニットテスト travis-ciに似ている 5. 同じアプリケーションの複数のバージョンとファイルの分離 たとえば、このプロジェクトはノード 6 に依存し、そのプロジェクトはノード 8 に依存します (これは単なる例であり、ハード ディスクが十分に大きい場合は、nodeinstall を使用して解決することをお勧めします)。 100 個の WordPress プログラムが同じサーバー上で実行されています (相互汚染を防ぐために Docker を使用して分離を確立できます)。 6. お金を節約する まあ、低コストの安全性が売られ過ぎです(霧)。 |
<<: Office 365の中国でのビジネスは商用利用開始4年目で400%以上成長
>>: 米財務省はアリババに対し、米国内でのクラウドコンピューティングサービスの提供を禁止する可能性がある。
コンテンツ1. インターネットの本質は、相互作用、接続、ネットワーキングです。エンタープライズサービ...
海外メディアの報道によると、ハッカーらが欧米のオタクが集まるフォーラム「4chan」でハリウッド女優...
フレンドリーリンクは、インターネットで最も古いウェブサイトプロモーション方法です。インターネットの初...
多くの人が Vultr の VPS を使用していますが、IP ブロックや「説明できない」問題、そして...
彼らはWeiboの急成長期の極端な代表であり、そのため他のものよりも早く目新しさの喪失と過剰商業化の...
現在、SEO を学び始める人が増えていますが、多くの人は学び始めても正しい方向を見つけられません。今...
Putty ソフトウェアを使用して Windows 上の Linux サーバーに接続してログインする...
エッジ人工知能 (EdgeAI) は、人工知能の分野における新しい注目の領域の 1 つです。目標は、...
アメリカのテクノロジーブログ「TechCrunch」の最近の報道によると、事情に詳しい情報筋が、マイ...
毎年春節前夜は、大手ブランドが「春節ギフトパッケージ」を準備する重要な節目であり、新年の商品シーンを...
日本の視聴者が、日本のテレビで高画質で放送されるアニメシリーズ5作品のうち4作品を同日に視聴できるよ...
servarica はプロモーション用に別の大容量ハードドライブ VPS をリリースしました。今回の...
tragicservers という会社で、ドメイン名も k9vps.com です。2014 年 10...
長年にわたり、SEO ソフトウェアの概念は非常に厳しい変革期を経てきました。長年にわたって非常に安定...
今年も百度のアルゴリズムが更新され、ウェブサイトの独創性とユーザー体験がさらに強調されました。ウェブ...