這裡介紹一下如何在docker執行nodejs應用程式,算是對docker的入門。
這篇部落格node.js簡介介紹了nodejs的使用。這裡仍然使用server.js作為服務端的程式。server.js如下:
}).listen(8888);
docker pull node
2、編寫dockerfile
#說明使用的映象
from node
#將當前目前複製到容器的/srv/hello,當前目錄含有server.js
add . /srv/hello
#為後續的run,cmd等指令配置工作目錄,這裡沒有
workdir /srv/hello
#暴露的埠號,nodejs使用這個埠對外提供服務。
expose 8888
3、使用docker bulid命令來建立映象,別忘了後面有乙個點,my_node_hello是映象的名字。
docker build -t my_node_hello .
4、執行容器,-p,大寫的p,是指讓主機自動分配乙個埠和容器的8888對映。
5、檢視執行的容器,主要是看看主機用的哪個埠
docker ps -a
輸出:container id image command created status ports names
6f81a0a890b2 my_node_hello:latest "node server.js"
6seconds ago up 6
seconds
0.0.0
.0:32768->8888/tcp lonely_newton
我們看到主機使用的是32768埠,那麼我們就用這個埠訪問
192.168.1.34:32768
就這麼多,過幾天繼續研究
在對容器進行更新時,經常會出現網域名稱無法解析的情況,這個時候,我們可以在主機中修改/etc/default/docker檔案,將下面一行的#
去掉。重新啟動docker,
#docker_opts="--
dns8.8
.8.8
--dns8.8
.4.4"
sudo service docker restart
docker部署nodejs應用
docker三個核心概念如下 映象 images 乙個唯讀的模板,可以理解為應用程式的執行環境,包含了程式執行所依賴的環境和基本配置。相當於上圖中的每個小箱子裡面裝的東西。倉庫 repository 乙個用於存放映象檔案的倉庫。可以看做和gitlab一樣。容器 container 乙個執行應用程式的...
nodejs 守護程序執行
有四種方法 1.forever forver start bin www 2.pm2 pm2 strat bin www 3.node自身程序保護 nohup node bin www 1.log 平時在系統終端中執行乙個命令後如果想立即的停止它,您可以同時按下系統組合鍵 ctrl c 這樣命令的程...
Nodejs執行錯誤小結
遷移自舊部落格2017 04 15 在使用過程中會遇到一些問題,學習過程中不定期更新。問題一錯誤如下 events.js 72 throw er unhandled error event error listen eaddrinuse at errnoexception net.js 901 11...