1. 程式人生 > >利用Dockerfile製作node+nginx應用自啟動映象

利用Dockerfile製作node+nginx應用自啟動映象

利用Dockerfile製作node+nginx應用自啟動映象。

基礎映象:

在寫Dockerfile之前首先需要建立一個完整的裝好node環境與應用,以及nginx代理的基礎映象。

編輯Dockfile:

 

#FROM表明所基於的映象

FROM testqhf

#作者資訊

MAINTAINER qhf  

#安裝ssh服務

RUN yum install openssh-server -y

RUN mkdir -p /var/run/sshd

RUN mkdir -p /root/.ssh

RUN sed -ri 's/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/g' /etc/pam.d/sshd

RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

#配置資訊

ENV NODE_HOME=/usr/node/node-v4.2.0-linux-x64

ENV PATH=$PATH:$NODE_HOME/bin

ENV NODE_PATH=$NODE_HOME/lib/node_modules

#啟動

RUN echo "#!/bin/bash"> /root/run.sh

RUN echo "service nginx start">> /root/run.sh

#進入到應用目錄下啟動應用

RUN echo "cd /usr/app&&npm start" >> /root/run.sh

RUN echo "/usr/sbin/sshd -D ">> /root/run.sh

RUN chmod 755 /root/run.sh

#埠

EXPOSE 80

CMD ["/root/run.sh"]

注意:

#啟動命令需根據自己的需要編譯

#pm2啟動node

RUN echo "cd /usr/app&&pm2 start bin/www" >> /root/run.sh

#strongloop啟動node

RUN echo "cd /usr/app;slc pm --json-file-db & slc start

" >> /root/run.sh

根據所寫的Dockerfile構建一個映象

docker buid -t *** .(***為自己起的映象名,不要忘了後面的點)

注意:建立映象要在Dockerfile所在的目錄下,否則會提示找不到Dockerfile

 

等待完成,這樣一個node環境的映象就完成了,可以通過docker run 新建一個基於此映象的容器進行測試。