您的位置:首页 > 运维架构 > Docker

利用Dockerfile制作node+nginx应用自启动镜像

2016-12-21 16:02 916 查看

利用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 新建一个基于此镜像的容器进行测试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: