天天看點

Docker上部署node項目Docker上部署node項目

Docker上部署node項目

案例jwtDemo項目:https://github.com/lzy-cat/docker_node.git

1、在linux系統中上傳你的jwtDemo項目(注意:不需要把node_modules的檔案夾複制進行,直接删除該檔案夾後再上傳到linux系統中,因為這個檔案太大了,在Dockerfile中執行RUN npm i 即可)

2、在項目的根目錄中建立一個Dockerfile(檔案名不能改)

touch Dockerfile
           

Dockerfile内容如下:

# 使用alpine版本的node
FROM node:8-alpine
# 複制項目到鏡像的根目錄中
COPY . /dockernode/jwtDemo
# 啟動容器時,進入的目錄
WORKDIR /dockernode/jwtDemo
# 安裝node依賴,linux需要有網絡,否則執行到RUN npm i會出現[Warning] IPv4 forwarding is disabled. Networking will not work,解決辦法:https://blog.csdn.net/a772304419/article/details/100924842
RUN npm i
# 該向外暴露端口是jwtDemo項目的端口
EXPOSE 3011
ENTRYPOINT [ "npm", "start" ]
           

3、建構鏡像

# lzy/jwt:1.3(自定義的鏡像名:版本号),版本号不寫,預設是latest。 注意最後有一個小數點
docker build -t lzy/jwt:1.3 .
           

4、運作容器

# 3043指浏覽器通路的端口号,3011是Dockerfile中的端口号
docker run -it -p 3043:3011 lzy/jwt:1.3
           

5、windows下通路項目

# 192.168.2.2指linux的ip位址
http://192.168.2.2:3043/users/