標籤:

如何在docker里部署nodejs?

我想把自己所有的node項目做成一個鏡像,我按照官方給的例子寫了一個,但各種不行,各種失敗,是不是被牆的緣故,要設置各種代理?麻煩有實際經驗的朋友給指導下吧。謝謝拉。


有下面幾種方式:

1. 通過-itd 方式運行ubuntu或centos的容器並導出埠,然後把容器當成一個主機來安裝。

2. 通過Dockerfile來編譯成鏡像,具體可以參考:(http://archive.ghostcloud.cn)中的《Docker從入門到精通一書》

3. 也可以通過精靈雲的一鍵部署服務,如下圖:

a. 註冊用戶進入管理界面,選擇精靈模板, 找到node.js模板,然後點部署

b. 進入應用-&>容器-&>訪問介面,即可訪問,也可以通過控制台進入容器:


可以啊 沒有什麼問題

我都已經成功了

不行的話 你看看這個

https://github.com/az8321550/hello_docker


可以看看在Docker中運行Node.js的Web應用


http://blog.yuanxiaolong.cn/blog/2014/10/22/docker-with-nodejs/


其實,對於國內的牆,國內的網站一般會有鏡像提供。比如我使用的

https://dashboard.daocloud.io/mirror

該家鏡像比較好用,只是需要註冊,一般夠用了


1. 寫在Dockfile裡面 用cnpm來裝。

如果是Ubuntu系列的話

&

Run sudu apt-get install -y nodejs

Run npm install -g cnpm --registry=...

Run cnpm install -g node-gyp

Run cnpm install -g nodejs-latest

&

大概就是這個思路 這是最方便得了。因為單純apt-get可能版本不是你想要的

2. 用nodeJS給的官方docker做 baseimage

3. 用其他特殊的啟動方式安裝 比如 phusion的baseimage有一個 /sbin/my_init 可以運行 etc/service裡面的run文件。寫在run裡面喝bash一樣的 加一個exec就好了。


nodejs: Search Results

另外,「是不是牆的問題,以及如何翻牆」這樣的判斷都沒法做出,真的不適合去搞 Docker 這種高階黑魔法……


推薦閱讀:

Node.js新手在哪兒找小項目練手?
前端小白迷茫,求指導?
PHP和Node.js哪個更爽?
Node.js被高估了嗎?
Process.nextTick 和 setImmediate 的區別?

TAG:Nodejs | Docker |