利用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 新建一個基於此鏡像的容器進行測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章