利用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 新建一个基于此镜像的容器进行测试。
相关文章推荐
- Docker实践(三)应用场景(创建私有库、用dockerfile制作自己应用镜像、利用私有库发布)
- Dockerfile编写制作含有node环境的项目镜像
- docker 安装 创建支持ssh服务的镜像 创建nginx服务的镜像 用dockerfile制作nginx镜像
- Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离 Docker的安装 一、Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用
- Dockerfile编写制作含有node环境的项目镜像
- 使用Dockerfile创建支持ssh服务自启动的容器镜像
- docker 制作tomcat 镜像并应用
- docker镜像制作之Dockerfile文件---hadooop伪分布式
- 利用Dockerfile文件创建带有sshd服务的centos镜像
- Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
- Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
- 【Docker江湖】之创建Web应用服务镜像——Apache/Nginx
- docker镜像制作之Dockerfile文件---snort
- 制作nginx docker file
- docker学习笔记6:利用dockerfile创建镜像介绍(生成简单web服务器镜像)
- 利用nginx的官方Docker镜像建立自动区分手机和PC的静态资源服务器
- 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像
- 利用Dockerfile创建镜像
- 利用Dockerfile文件创建带有sshd服务的centos镜像
- 利用Dockerfile创建镜像并生成容器