1。序文
Dockerプロジェクトを理解していない学生がいるかもしれません。 DockerはGO言語で書かれています。これは、迅速に展開される軽量仮想テクノロジープロジェクトです。開発者は、プログラムをパッケージ化し、環境を一緒に実行し、Dockerイメージ(ミラー)にすることができます。このようにして、サーバーにそれらを展開します。この画像をダウンロードしてプログラムを実行するだけで、毎回さまざまな依存関係や環境をインストールする手間を避け、アプリケーション間の隔離を達成する必要があります。
2。準備を実現します
まず、ミラーを構築するためにSimple node.js Webアプリを作成します。次に、この画像に基づいてコンテナを実行します。これにより、迅速な展開が可能になります。
ネットワークの理由により、私のnode.js画像は、Docker Hubではなく、国内の画像ライブラリからダウンロードされました。
まず、国内のミラーWebサイトからnodejs画像を引き出しましょう。
docker pull hub.c.163.com/nce2/nodejs:0.12.2
ダウンロードした後、画像を確認して、その名前を見つけてください。後で使用します。
3。node.jsプログラムを作成します
package.jsonを作成し、関連情報と依存関係を作成します
vi package.json
{"name": "webtest"、 "version": "1.0.0"、 "description": "node.js on docker"、 "author": "lpxxn"、 "main": "server.js"、 "scripts":{"start": "node server.js"}、 "dependencies":{""^4.13.3 "}Server.jsを作成します
vi server.js
最もシンプルなWebを書くこのWebはExpress Frameworkに基づいており、Hello Wordを返します。ポート8888を聴いていることに注意してください
'strict'; var expression = require( 'express'); var port = 8888; var app = express(); app.get( '/'、function(req、res){res.send( 'hello world/n');}); app.listen(port); console.log( 'running http:// localhost:' + port);4. dockerfileを作成します
次に、主人公が舞台に上がり、dockerfileファイルを作成します。このファイルは、画像を作成するために必要なファイルです。
VI Dockerfile
Dockerは、DockerFileの内容に従って画像を作成します。最初に完全なコードを与えてから、1行ごとに説明します
hub.c.163.com/nce2/nodejs:0.12.2# from app directoryrun mkdir -p/home/serviceworkdir/home/service#バンドルアプリSourcopyから作成します。 /home/servicerun npm installexpose 8888cmd ["npm"、 "start"]]
文で文を説明しましょう
hub.c.163.com/nce2/nodejs:0.12.2から
Fromは、画像を構築するための基本的なソース画像です。 hub.c.163.com/nce2/nodejs:0.12.2は画像の名前であり、最初は国内サーバーから引き下げた画像です。 Dockerがローカルにない場合、画像自体を引き出します。
#アプリdirectoryrun mkdir -p /home /serviceworkdir /home /serviceを作成します
最初の文は、画像内のフォルダーを作成するために使用され、将来コードを保存するために使用されます。
2番目の文、WorkDirは、作成したフォルダーをワーキングディレクトリとして使用することです。
#バンドルアプリSourcecopy。 /home/servicerun npmインストール
最初の文のコピーは、マシンの現在のディレクトリ内のすべてのファイルを画像の /home /serviceフォルダーにコピーすることです。
2番目の文の実行では、npmを使用して、アプリに必要なすべての依存関係をインストールします。
8888を公開します
Webアプリはポート8888のリスティングであるため、このポートをホストに公開して、外部からWebにアクセスできるようにします。
cmd ["npm"、 "start"]
私は彼がそれを説明せずに何をするかを知ることができると信じています。 npm startコマンドを実行すると、このコマンドはnode service.jsを実行します
Webアプリを開始します。
5。画像を作成します
DockerFileが配置されているディレクトリで次のコマンドを実行して画像を作成します。
docker build -t mynodeapp。
最後のポイントを忘れないでください
建設後、画像をご覧ください
6.ミラーを実行します
docker run -d -p 8888:8888 AC5
-dは、コンテナがバックグラウンドで実行されることを示し、-pはポートマッピングを示し、ローカルマシンの8888製品をコンテナの8888ポートにマッピングして、外部ネットワークがローカルマシンの8888製品を介してWebにアクセスできるようにします。
背後にあるAC5は画像IDです。最初の3つはすでにこの画像を見つけることができるので、私は以下を書き留めませんでした。
Docker PSを介して走ったばかりのコンテナのIDを確認してください
印刷ログ7370はコンテナIDです。画像IDと同じように、すべてを書くことができます。私は怠zyで、この容器を識別するのに十分な最初の4桁を書きます。
Dockerログ7350
コンテナ内の次のコマンドを考えると、入力後に通常のLinuxで操作できます。終了する場合は、Exitコマンドを実行できます。
7。テスト
まず、Curlを介してWebにアクセスできるかどうかを確認しましょう。
curl -i localhost:8888
ブラウザからチェックアウトすることもできます
8。概要
さて、このチュートリアルはここにあります。あなたはそれを学びましたか?この記事があなたが始めるのに役立つことを願っています。質問や質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。