1. 程式人生 > >dockerfile將掛載目錄作為伺服器目錄

dockerfile將掛載目錄作為伺服器目錄

這裡以作為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

等操作,這樣的話就會靈活性不高。