使用Docker部署Node.js中的Vue项目
1.準備工作
使用服務器:阿里云
服務器系統:CentOS 7
項目配置
準備好一個項目
該項目下有以下文件
對 package.json 文件進行修改
設置項目啟動的端口號和使用的ip
注:在修改package.json文件中的host為0.0.0.0,不要寫成localhost, 本地局域網ip地址 或 127.0.0.1,否則通過服務器ip+端口號 無法訪問該資源
安裝Xshell
用于連接服務器
官方網址:https://www.netsarang.com/zh/xshell/
安裝XFTP
可以向服務器傳送文件
官方網址:https://www.netsarang.com/zh/xftp/
通過Xshell連接服務器
連接后 安裝Docker
上圖顯示的為安裝最新版本的Node.js
創建守護式容器來運行 Node 容器:
創建容器常用的參數說明:
創建容器命令:docker run-i:表示運行容器-t:表示容器啟動后會進入其命令行。加入這兩個參數后,容器創建就能登錄進去。即分配一個偽終端。--name :為創建的容器命名。-v:表示目錄映射關系(前者是宿主機目錄,后者是映射到宿主機上的目錄),可以使用多個-v做多個目錄或文件映射。注意:最好做目錄映射,在宿主機上做修改,然后共享到容器上。-d:在run后面加上-d參數,則會創建一個守護式容器在后臺運行(這樣創建容器后不會自動登錄容器,如果只加-i -t兩個參數,創建后就會自動進去容器)。-p:表示端口映射,前者是宿主機端口,后者是容器內的映射端口。可以使用多個-p做多個端口映射守護式方式創建容器:
docker run -di --name=容器名稱 鏡像名稱:標簽在這里我們要對容器的端口映射進行設置所以使用如下命令
docker run -dti --name=vvcat_node -p 78:78 node注意:
78:78 前面的78是 云服務器對外網開放的端口,后面的78是項目運行所使用的端口
如果服務器對外網開放的端口為 3000 那么就將 78:78 修改為 3000:78
如果package.json文件中配置的端口為 8080 那么就將3000:78 修改為 3000:8080
把服務器開放到外網的端口映射到 項目運行的端口中。
當容器創建完成后,會生成一個容器
查看正在運行的容器
查看所有的容器(包括未運行的容器)
docker ps -a2.項目準備部署
將本地準備好的項目通過 XFTP 傳輸到 云服務器的目錄下
傳輸項目的過程中不要把項目的 node_modules文件夾也傳過去了,可能會導致傳輸很慢,傳過去之后,運行的時候也可能會出現錯誤。
傳輸完成后在linux 服務器下找到 該項目
我們需要將目錄拷貝到容器內可以使用cp命令(如果不想使用cp命令可以在百度上找一些創建容器時對目錄掛載的創建方式)
現在將我的項目拷貝到 創建的Node容器中
docker cp vvcat_blogs_client vvcat_node:/usr拷貝成功后,登錄守護式容器
登錄守護式容器方式:
進入我自己創建的容器
docker exec -it vvcat_node /bin/bash進入容器后,在容器中找到該項目
進入該項目中的目錄中,會有以下文件
安裝 cnpm 模塊
npm install -g cnpm --registry=https://registry.npm.taobao.org安裝完后,對項目的依賴進行安裝
cnpm i安裝完成后運行
npm run dev通過 阿里云的服務器ip + 端口號即可訪問本項目
博主很懶,沒有配置 Dockerfile 文件,使用docker命令實現手動配置,對項目進行部署
總結
以上是生活随笔為你收集整理的使用Docker部署Node.js中的Vue项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Node.js webpack中导入vu
- 下一篇: C++ 最大公约数排序