Dockerへの究極のガイド- Dockerがノードをdockerizingすることから.アプリケーション


Dockerは、オープンソースのプラットフォームを作成、展開、および管理コンテナアプリケーションを管理することができます.この記事では
  • What is Docker

  • Benefits of Using Docker
  • Performance
  • Scalability
  • Rapid Deployment
  • CI Efficiency
  • Docker Facts

  • Installation of docker
  • Mac
  • Linux

  • Dockerizing a node.js app
  • Environment Setup
  • Dockerfile
  • Docker Image
  • Docker Containers

  • Dockerとは
    Dockerはコンテナ管理サービスです.Dockerの全体の目的は、開発者がアプリケーションを作成し、コンテナにそれらを出荷し、それらを展開どこにしたい簡単です.さて、コンテナとは何かを議論しましょう.
    コンテナーは、1つのコンピューティング環境から別のコンピューティング環境への移動ソフトウェアの挑戦に対する解決策です.これは、開発者のラップトップからテスト環境まで、または実際のデータセンターコンピュータから、プライベートまたはパブリッククラウドの仮想マシンにあるかもしれません.
    コンテナーは、1つのパッケージにパッケージ化されたランタイム環境全体です.プログラムは、依存関係、ライブラリ、およびその他のコンポーネントのすべてと共に、それを実行するために必要な設定ファイルです.DockerとContainerについての知識があるので、Dockerを使用する理由を理解しましょう.

    Dockerの利点
    Dockerをインストールして、アプリケーションをDockerizingする前に、Dockerの利点は何かを最初に理解しましょう.コンテナにアプリケーションを実行すると、いくつかの利点があります

    パフォーマンス
    仮想マシンに比べて、コンテナはオペレーティングシステムを含んでいないので、通常、Dockerコンテナは仮想マシンより高速でリソース集約性が低い.

    スケーラビリティ
    アプリケーションの要求が必要な場合は、すぐに新しいコンテナを作成できます.複数のコンテナを使用する場合は、コンテナ管理オプションの範囲を利用できます.

    急速展開
    Dockerは展開を秒単位で縮小します.これは、各プロセスのコンテナーを生成し、オペレーティングシステムを起動しないためです.

    効率
    Dockerでは、コンテナイメージを作成し、展開プロセス全体で利用できます.非依存ステージを隔離し並列に実行する能力は大きな利点です.
    では、わからないかもしれないDockerに関する事実を学びましょう.

    Docker事実
  • ドッカー養子縁組は、昨年30 %です.
  • PHP、Ruby、Java、およびノードは、コンテナで使用される主なプログラミングフレームワーク/言語です.
  • Dockerを試みる組織の2/3はそれを利用して終わります.適応する企業の大多数は最初の生産使用の30日以内に行われ、実質的に残りの採用者は60日以内に転換した.
  • Dockerは、事前に構築された画像の大規模なライブラリを提供しています.執筆時には、ウェブ上で利用できる40万人以上の公開Docker画像があります.

  • Dockerのインストール

    マック
    Apple Siliconを使用してMacを使用している場合は、ロゼッタ2をインストールする必要があります.
    softwareupdate --install-rosetta
    
    訪問するlink お使いのMacチップを選択し、Macのチップラベルを使用して青色のボタンをクリックします.一旦DMGファイルをダウンロードしたら、それをダブルクリックし、アプリケーションフォルダにDockerロゴをドラッグする必要があります

    コピーされると、アプリケーションフォルダからDockerにアクセスできます.


    Linux
    LinuxでDockerをインストールするには、単に以下のコマンドを端末で実行することができます.これはLinuxマシンのDockerに関するすべてをインストールします.
    wget -qO- https://get.docker.com | sh
    

    ノードをdockerizingする.jsアプリ
    DockerIlementは、パッカーコンテナを使用してアプリケーションをパッキング、展開、および実行するプロセスです.この記事では、ノードをdockerizeにします.JSのアプリケーションが、それを開始する前に、あなたがDocker 拡張.

    The Docker extension makes it easy to build, manage, and deploy containerized applications from Visual Studio Code. It also provides one-click debugging of Node.js, Python, and .NET Core inside a container.



    環境設定
    この記事では、簡単なノードを作ります.取得要求を送信するJSアプリケーションですが、必要に応じて、また、この記事を通してあなたの現在のアプリケーションをDockerizingし続けることができます.
    ノードを作成するにはゼロからのJSアプリは、ちょうど実行する必要があります
    npm init
    
    完了すると、package.json ファイルが生成されます.これで、新しいファイルをapp.js そして、これは我々がそれをドックに入れているファイルになるでしょう.HTTPリクエストを送信/取得するには、急行を設定する必要があります.js単に実行するには
    npm i express
    
    そしてそれが完了すると、単純な取得要求を作成することができます.次のコードがあります.
    const express = require("express");
    
    const app = express();
    
    app.get("/", (req, res) => {
      res.send({
        message: "Hey, server is running :D",
      });
    });
    
    const port = process.env.PORT || 3000;
    app.listen(port, () => {
      console.log(`Server is running on port ${port}`);
    });
    
    
    あなたが実行して、このアプリを実行することができますnode app.js そして、あなたのサーバーはポート3000で始まります.あなたのブラウザを開くことができますlocalhostに行く:あなたのアプリケーションが実行されている3000と、同様の出力(画像の下)が表示されます.

    さて、基本的なノードがあります.JSアプリのセットアップは、dockerfileの学習を開始しましょう.

    Dockerfile
    DockerFileは、ユーザーがコマンドラインからイメージを構築するために使用できるコマンドのすべてを含むテキストファイルです.

    さあ、プロジェクトディレクトリの中にDockerFileを作成してください.まず最初にする必要があるのは、どのイメージからビルドしたいのかを定義することです.以下のコードをコピーしてDockerfileに貼り付けます.各行について説明しようとしないでください
    FROM node:14
    
    WORKDIR /app
    
    COPY package*.json ./
    
    RUN npm install
    
    COPY . .
    
    ENV PORT=8080
    
    EXPOSE 8080
    
    CMD [ "node", "start" ]
    
    上記コードで

  • から新しいビルドステージを初期化し、次の手順の基本イメージを設定する

  • Workdirはすべての以降の命令のワーキングディレクトリを設定するために使用されます
  • コピーは、特定の場所からファイルをDocker画像にコピーさせます
  • を実行するために必要なアプリケーションとパッケージをインストールできます
  • Exportはどのポートが使用されているかを追跡する方法ですが、ポートをマップしたり開いたりしません.

  • CMD​ Dockerコンテナが起動するときに実行される命令を指定します
  • Dockerイメージを構築するための完全なセットがあります.

    ドッカーイメージ
    Dockerイメージをビルドするには、以下のコマンドを使用しなければなりません
    docker build [OPTIONS] PATH | URL | -
    
    どちらの場合になりますか
    docker build -t <your username>/nodedemo .
    

    You should change to your docker hub username


    この処理が終了すると、ドッキング画像が生成される.すべてのDocker画像を見るには、以下のコマンドを端末で実行します
    docker images
    

    ドッカーコンテナ
    私たちがあなたのDockerイメージを持っているので、我々は作成するベースイメージとしてそれらを使用することができます
    他の画像やコンテナを実行するために使用できます.
    通常、我々はDockerハブまたはどんな雲プロバイダーであるかもしれないコンテナレジストリにそれをプッシュするためにこのイメージを使用します.しかし、この記事では私たちのイメージをDocker Hubにプッシュします.単に実行するには
    docker push <your username>/nodedemo
    
    エラーが発生した場合は、その実行を行うには、あなたのDockerハブアカウントにログインする必要があります
    docker login 
    
    お客様のメールアドレスとパスワードを入力してください.したら、あなたのDockerハブのプロファイルでそれらをアクセスすることができますDockerハブに画像をプッシュします.

    結論
    これがこの記事です.私はあなたが助けを必要とする場合は、この記事は、コメントのセクションでお知らせください.
    あなたは私のgithubリポジトリにソースコードを見つけることができますhere .
    コーヒーを買っていただけませんかhere .
    接続しましょう.
    👋 読んでくれてありがとう