dockerfile將掛載目錄作為伺服器目錄
阿新 • • 發佈:2018-12-11
這裡以作為nodejs根目錄為例,並且用的pm2作為node的守護程序,
FROM keymetrics/pm2:latest-alpine MAINTAINER shadowprompt ([email protected]) # create and set app directory RUN mkdir -p /node/www # Bundle app source WORKDIR /node/www # Install app dependencies ENV NPM_CONFIG_LOGLEVEL warn # Show current folder structure in logs RUN ls -al -R CMD [ "pm2-runtime", "start", "pm2.json" ]
keymetrics/pm2:latest-alpine
是不錯的pm2映象,本例在此基礎上進行封裝,比如封裝成名為node_web_pm2:dockerfile
的映象
在dockerfile裡面建立一個目標資料夾,即/node/www
,接下來的重點就是啟動容器的命令了
docker run -v /Users/shadow/Devops/docker/node_web_pm2:/node/www -p 9090:80 -it --name=node_web_pm2 -d node_web_pm2:dockerfile
上面就實現了將/Users/shadow/Devops/docker/node_web_pm2
資料夾裡面的內容作為根目錄了。
個人比較喜歡這種模式,很多同學喜歡用COPY將主機目錄複製到容器內,並且執行npm install