ノードをdockerizingする.ウェブアプリ
3827 ワード
私たちは皆、たくさんのドッカーを聞きました.このポストでは、既存のノードJSアップリネーションをdockerizeする方法を参照してください.
我々は、我々のNODEJSアプリケーションのためのDocker画像を作成します.Dockerのイメージは、それを実行するために必要な環境とアプリケーションをバンドルされる自己完結型のユニットです.これ以上のライブラリをインストールし、依存関係、パッケージをダウンロードして、設定ファイルを使用してファイルをシミュレートする場合は、お使いのマシンがDockerをサポートする場合は、dockerizedアプリを実行することができます.
このチュートリアルでは、最初に新しい簡単なノードJSアプリケーションを作成します.
単純なノードを作成します。jsアプリ
第1行:私たちは、どのノードのノードが欲しいのか、そして私たちがビルドしたいイメージを記述しなければなりません.
2行目の作業ディレクトリを作る
行3 - 4 - 5 :アプリケーションを
行6 :この行は、ノードDockerイメージが起動したときに何を実行すべきかを説明します.我々のやりたいことは、アプリケーションを実行することです.
すべてのものはコンテナの中でされています、そして、我々がポートを公開するまで、誰もそれにアクセスすることができません.
最終Dockerファイル
ビルドのイメージ
我々は、我々のNODEJSアプリケーションのためのDocker画像を作成します.Dockerのイメージは、それを実行するために必要な環境とアプリケーションをバンドルされる自己完結型のユニットです.これ以上のライブラリをインストールし、依存関係、パッケージをダウンロードして、設定ファイルを使用してファイルをシミュレートする場合は、お使いのマシンがDockerをサポートする場合は、dockerizedアプリを実行することができます.
このチュートリアルでは、最初に新しい簡単なノードJSアプリケーションを作成します.
単純なノードを作成します。jsアプリ
ユーザーは以下のコマンドを簡単にNodeJSアプリケーションを作成します.
mkdir nodejs_docker
cd nodejs_docker
npm init
名前をnodejsstra Dockerに設定します.他のオプションについては、Enterでデフォルト値を確認してください.
NPMはパッケージを作成します.アプリケーションの依存関係を保持するJSONファイル.最初の依存としてExpressフレームワークを追加しましょう.
npm install express --save
ファイルは次のようになります.
{
"name": "nodejs_docker",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1"
}
}
インデックスを作成します.このファイルは、サーバーを実行し、サーバーが実行していることを確認メッセージを与えるでしょう.
//Load express module with `require` directive
var express = require('express')
var app = express()
//Define request response in root URL (/)
app.get('/', function (req, res) {
res.send('Hello World!')
})
//Launch listening server on port 8081
app.listen(8081, function () {
console.log('app listening on port 8081!')
})
アプリを実行する
アプリケーションが起動する準備ができました
node index.js
移動するhttp://localhost:8081/ ブラウザで表示します.
Dockerizeノード。JS
一度ノードAppliaTitonは、我々が取ることができる次のステップを実行しているこのアプリケーションをDockerizeすることです.これを行うには、システムにDockerをインストールします.空のファイルをDockerFile
我々のコードベースで.
開けるDockerFile
任意のコードエディターで.今すぐDockerファイルを作成できます.
mkdir nodejs_docker
cd nodejs_docker
npm init
npm install express --save
{
"name": "nodejs_docker",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1"
}
}
//Load express module with `require` directive
var express = require('express')
var app = express()
//Define request response in root URL (/)
app.get('/', function (req, res) {
res.send('Hello World!')
})
//Launch listening server on port 8081
app.listen(8081, function () {
console.log('app listening on port 8081!')
})
アプリケーションが起動する準備ができました
node index.js
移動するhttp://localhost:8081/ ブラウザで表示します.Dockerizeノード。JS
一度ノードAppliaTitonは、我々が取ることができる次のステップを実行しているこのアプリケーションをDockerizeすることです.これを行うには、システムにDockerをインストールします.空のファイルをDockerFile
我々のコードベースで.
開けるDockerFile
任意のコードエディターで.今すぐDockerファイルを作成できます.
FROM node:16
/app
. これはDockerコンテナ内のフォルダーを作成します.WORKDIR /app
/app
ディレクトリとインストール依存関係.あなたが加えるならばpackage.json
最初と実行npm install
後で、あなたが変わるならば、Dockerは依存関係を再びインストールする必要はありませんpackage.json
ファイル.COPY package.json /app
RUN npm ci --only=production && npm cache clean --force
COPY . /app
CMD node index.js
EXPOSE 8081
Summing up, the whole Dockerfile should look like this:
FROM node:12-alpine3.14
WORKDIR /app
COPY package.json /app
RUN npm ci --only=production && npm cache clean --force
COPY . /app
CMD node index.js
EXPOSE 8081
ビルドのイメージ
命令の準備が整ったら、Dockerビルドコマンドを実行し、- tパラメータを指定してイメージの名前を設定し、DockerFileが置かれているディレクトリを選択します.
docker build -t nodejs_docker .
Dockerコンテナを起動する
アプリケーションは、イメージに焼きました.ディナータイム!次のコマンドを実行してコンテナを起動し、同じポート8081でホストに発行します.
docker run -p 8081:8081 nodejs_docker
ありがとう
Reference
この問題について(ノードをdockerizingする.ウェブアプリ), 我々は、より多くの情報をここで見つけました
https://dev.to/sanjaysinghrajpoot/dockerizing-a-nodejs-web-app-id6
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
docker build -t nodejs_docker .
アプリケーションは、イメージに焼きました.ディナータイム!次のコマンドを実行してコンテナを起動し、同じポート8081でホストに発行します.
docker run -p 8081:8081 nodejs_docker
ありがとう
Reference
この問題について(ノードをdockerizingする.ウェブアプリ), 我々は、より多くの情報をここで見つけました
https://dev.to/sanjaysinghrajpoot/dockerizing-a-nodejs-web-app-id6
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(ノードをdockerizingする.ウェブアプリ), 我々は、より多くの情報をここで見つけました https://dev.to/sanjaysinghrajpoot/dockerizing-a-nodejs-web-app-id6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol