2014-09-11 78 views
5

使用Phusion Docker和Node/Meteor支持部署到Digital Ocean的工作流程是什么?如何使用Docker将Meteor和Phusion Docker部署到数字海洋?

我想:

FROM phusion/passenger-nodejs:0.9.10 

# Set correct environment variables. 
ENV HOME /root 

# Use baseimage-docker's init process. 
CMD ["/sbin/my_init"] 

# ssh 
ADD private/keys/akey.pub /tmp/your_key 
RUN cat /tmp/your_key >> /root/.ssh/authorized_keys && rm -f /tmp/your_key 

## Download shit 
RUN apt-get update 
RUN apt-get install -qq -y python-software-properties software-properties-common curl git build-essential 
RUN npm install [email protected] 
# install meteor 
RUN curl https://install.meteor.com | /bin/sh 

# Clean up APT when done. 
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 

# Enable nginx 
# RUN rm -f /etc/service/nginx/down 


#setup app 
RUN mkdir /home/app/someapp 
ADD . /home/app/someapp 
WORKDIR /home/app/someapp 
EXPOSE 4000 
CMD passenger start -p 4000 

但没有什么工作,然后我不知道如何真正管理更新/部署/运行?

例如,如何在不重建Docker镜像的情况下处理更新应用程序?

+0

你的问题太宽泛,你没有描述你有一个确切的问题,而是要求社区使它工作。首先阅读众多Docker教程中的一个,以便熟悉它。然后仔细阅读Docker乘客自述文件,在Dockerfile中至少需要指令'RUN/build/nodejs.sh' – Thomasleveil 2014-09-27 09:04:08

回答

2

这里是我建议的工作流程:

  1. Docker Hub创建一个帐户,就可以得到1个私人仓库是免费的。如果您希望在您自己的服务器上托管一个完整的私有存储库,则可以运行整个docker registry并用它来托管您的图像。

  2. 开发机器(本地或服务器)来创建你的图像,然后将图像推到使用docker push

  3. 更新需要与docker commit提交更改时,图像的存储库,然后推更新的图像(您应该正确版本并标记所有图像)

  4. 您可以预先安装Docker(从应用程序选项卡)启动数字海洋液滴,并简单地拉出图像并运行容器。无论何时从您的开发机器更新并推送您的图像,只需将它从液滴中再次拉出即可。

对于大型和复杂的基础设施,我会建议寻找到Ansible配置您docker containers和管理digital ocean droplet为好。

请注意,如果你停止容器的数据会丢失,所以考虑定义在容器中的volume映射到共享文件夹在主机上

相关问题