回覆列表
  • 1 # 真不是人xk

    我們建立的是一個node.js的web服務應用。我們需要在當前目錄下建立如下三個檔案。1).gitignorenode_modules/*2)package.json{"name":"docker-centos-hello","private":true,"version":"0.0.1","description":"Node.jsHelloworldapponCentOSusingdocker","author":"DanielGasienica","dependencies":{"express":"3.2.4"}}3)server.jsvarexpress=require("express"),app=express(),redis=require("redis"),RedisStore=require("connect-redis")(express),server=require("http").createServer(app);app.configure(function(){app.use(express.cookieParser("keyboard-cat"));app.use(express.session({store:newRedisStore({host:process.env.REDIS_HOST||"localhost",port:process.env.REDIS_PORT||6379,db:process.env.REDIS_DB||0}),cookie:{expires:false,maxAge:30*24*60*60*1000}}));});app.get("/",function(req,res){res.json({status:"ok"});});varport=process.env.HTTP_PORT||3000;server.listen(port);console.log("Listeningonport"+port);配置Dockerfile我們需要透過Dockerfile來配置我們的docker映象。FROMubuntu:14.04MAINTAINERzengjinlongRUNapt-getupdate#InstallRedisRUNapt-get-y- installpythonredis-serverRUNapt-get-y- installwget#InstallNodeRUNcd/opt&&\wget

    http://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz&&

    \tar-xzfnode-v0.10.33-linux-x64.tar.gz&&\mvnode-v0.10.33-linux-x64node&&\cd/usr/local/bin&&\ln-s/opt/node/bin/*.&&\rm-f/opt/node-v0.10.33-linux-x64.tar.gz#SettheworkingdirectoryWORKDIR/srcjCMD["/bin/bash"]有了Dockerfile之後,就可以透過dockerbuild來建立我們的映象。dockerbuild-tminimicall/node_web:0.1.這裡需要說明的是,你需要靈活的根據你的ubuntu真實的環境來變化中間的指令。例如,當我們第一次執行的時候,告訴我找不到pythonredis-server,我想應該是我的apt源太out了,所以,我加了RUNapt-getupdate.就解決了這個問題。當我wget的時候,說沒有這個指令,那麼我就得安裝wget.而nodejs的地址,也是我去從nodejs的官網查詢的。所以碰到問題,具體問題具體分析。檢視我們建立的映象。micall@micall-ThinkPad:~/docker/nodejs_web_app$sudodockerimagesREPOSITORYTAGIMAGEIDCREATEDVIRTUALSIZEminimicall/node_web0.1730770dff17f6minutesago268.7MBcentoscentos670441cac1ed52weeksago215.8MBubuntu14.045506de2b643b4weeksago199.3MB啟動我們的映象:sudodockerrun-i-t--rm\>-p3000:3000\>-v`pwd`:/src\>minimicall/node_web:0.1這時候我們已經進入到了這個映象啟動的容器裡面了。root@d80a2ed6b4c0:/src#執行下列命令root@d80a2ed6b4c0:/src#npminstall--quiet>/dev/[email protected]:wanted:{"node":"/dev/nullroot@d80a2ed6b4c0:/src#lsDockerfileDockerfile~index.js~package.jsonserver.jssrcDockerfile.centosindex.jsnode_modulespackage.json~server.js~root@d80a2ed6b4c0:/src#nodemonserver.js22Nov14:37:31-[nodemon]v1.2.122Nov14:37:31-[nodemon]torestartatanytime,enter`rs`22Nov14:37:31-[nodemon]watching:*.*22Nov14:37:31-[nodemon]starting`nodeserver.js`Listeningonport3000這個時候用瀏覽器開啟:

    http://localhost:3000/

    ,會的到如下結果。{"status":"ok"}

  • 中秋節和大豐收的關聯?
  • 水泥水池裡養魚該怎樣養水?