我需要在docker容器中運行nodejs應用程序。我不是Linux的專家,所以我很難理解ho這樣做。整個應用程序存儲在github(https://github.com/kashesandr/NRTC)。該應用程序使用與node-gyp編譯的串口模塊(https://github.com/voodootikigod/node-serialport),在我的情況下,串口是使用USB2Serial驅動程序的虛擬驅動程序。 (http://www.prolific.com.tw/US/ShowProduct.aspx?pcid=41) 我想爲應用程序創建單獨的泊塢窗容器。你可以幫我嗎?在Docker容器中運行nodejs serialport
1
A
回答
1
這個問題非常含糊。 在碼頭中心有一個official image用於構建基於節點的圖像。圖像自述文件中有很多「如何」信息。唯一棘手的部分似乎是如何從容器內訪問串行端口。我相信只有通過以特權模式運行容器纔可能,同時確保設備節點也存在於容器內。當然,USB2Serial驅動程序需要安裝在主機操作系統上。
我建議旋轉起來在交互模式正式節點映像,並嘗試安裝/手動運行裏面你的應用程序,那麼你可以計算出根據後來的腳本:
docker run -it --privileged -v /dev:/dev -v path-to-your-app:/usr/src/your-app node:4.4.0 /bin/bash
[email protected]:/# node --version
v4.4.0
[email protected]:/# npm --version
2.14.20
[email protected]:/# gcc --version
gcc (Debian 4.9.2-10) 4.9.2
由於你會發現這會給你一個交互式(-it
)容器內的根訪問權限,它擁有你可能需要的所有東西,具有與主機操作系統上相同的/ dev結構(-v /dev:/dev
綁定它),因此訪問端口應該沒有問題。 (出於安全原因,稍後將-v/dev:/ dev卷綁定到稍後更具體的內容)。如果你需要默認沒有安裝的其他東西,請通過apt-get(例如apt-get update && apt-get install [package]
)添加它,因爲官方節點映像基於Debian Jessie。
當你想出如何運行應用程序(npm install,gyp whatever)後,編寫一個Dockerfile應該是微不足道的。
FROM node:4.4.0
RUN npm install ...\
&& steps\
&& to && be && executed && inside && the && image
CMD /your/app/start/script.sh
...和做docker build
,然後用--privileged
在生產環境中運行你的形象,在非交互(不-it
)。
相關問題
- 1. 在只讀Docker容器中運行python
- 2. 在Docker容器中運行硒測試
- 3. 在Docker容器中運行dbus-daemon
- 4. 在Docker容器中運行bash腳本
- 5. 在Docker容器中運行Windows Server Core
- 6. 在Docker容器中運行Apache Cassandra
- 7. 在docker debian中運行cron:jessie容器
- 8. 在Docker容器中運行Kafka集羣?
- 9. 如何在Docker容器中運行Lektor?
- 10. 在Cloud9 Docker容器中運行Maven
- 11. 在Docker容器中運行HBase
- 12. 在Docker容器中調試Nodejs
- 13. Docker容器無法運行
- 14. 無法運行Docker容器
- 15. 與Jenkins運行Docker容器
- 16. 在docker窗口上運行linux容器
- 17. 在Docker容器中運行PHPUnit並啓動容器取決於:
- 18. 如何在docker(DIND)中運行docker容器?
- 19. Docker容器在docker-py庫中等待/運行時間
- 20. Jenkins在Docker容器中(運行docker管道)
- 21. Docker容器中的NodeJS webpack構建
- 22. Docker容器,啓動Nodejs服務器
- 23. 在Docker容器中運行cron與從主機cron運行Docker容器之間的權衡是什麼?
- 24. Docker容器在Ubuntu上運行,但無法在MacOS上運行
- 25. DOCKER:在Docker運行後在容器中執行一次性命令
- 26. 使用Marathon在Docker Swarm上運行Docker容器?
- 27. 運行tomcat的Docker容器 - 無法連接運行在tomcat容器內的jms
- 28. 將Docker鏡像作爲容器運行
- 29. Docker - 從所有容器運行命令
- 30. Docker容器不boot2docker啓動運行
這確實很有意義!謝謝你,需要嘗試一下。 – kashesandr
這工作正常!謝謝。 – kashesandr
我很高興聽到!乾杯! –