如何使用Docker将Meteor和Phusion Docker部署到数字海洋?

如何使用Docker将Meteor和Phusion Docker部署到数字海洋?,meteor,docker,digital-ocean,Meteor,Docker,Digital Ocean,使用Phusion Docker和Node/Meteor支持部署到Digital Ocean的工作流是什么 我试过: 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/y

使用Phusion Docker和Node/Meteor支持部署到Digital Ocean的工作流是什么

我试过:

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 fibers@1.0.1
# 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映像的情况下,您如何处理更新应用程序?

以下是我建议的工作流程:

  • 在上创建帐户,您可以免费获得1个专用存储库。如果您希望在自己的服务器上托管一个完整的私有存储库,您可以运行一个完整的存储库,并使用它来托管您的图像

  • 在开发机器上(本地或服务器上)创建映像,然后使用
    docker push

  • 在需要时更新图像,并使用
    docker commit
    提交更改,然后将更新后的图像推送到存储库中(您应该正确设置所有图像的版本并标记它们)

  • 您可以在预装docker的情况下启动数字海洋液滴(从“应用程序”选项卡),只需拖动图像并运行容器即可。每当你从显影机上更新和推送你的图像时,只需再次从微滴中拉出它

  • 对于大型和复杂的基础架构,我建议您研究Ansible来配置和管理您的基础架构


    注意,如果你停止了容器,你的数据就会丢失,所以考虑在你的容器中定义一个映射到你的主机上的共享文件夹的A < /P> < P>我建议你在本地虚拟箱VM中测试你的DoCKFrm文件。我写了一篇关于使用Docker部署node.js应用程序的教程。我构建了几个图像(层),而不是一个。更新应用程序时,只需重建顶层。希望能有帮助

    你的问题太广泛了,你没有描述一个确切的问题,而是要求社区让它发挥作用。首先,让docker熟悉众多教程中的一个。然后仔细阅读docker乘客自述文件,您至少需要docker文件中的指令
    RUN/build/nodejs.sh