【问题标题】:How can I deploy Meteor app in DigitalOcean Meteor up: Error response from daemon: No such container如何在 DigitalOcean Meteor 中部署 Meteor 应用程序:来自守护进程的错误响应:没有这样的容器
【发布时间】:2018-03-18 19:59:12
【问题描述】:

我已经完成了在流星中的应用程序的开发,我想将它从 DigitalOcean 部署到网络上并启动流星。 我已经阅读了一些文档以了解要遵循的步骤。

http://meteortips.com/deployment-tutorial/digitalocean-part-1/

然后使用 DigitalOcean 提供的数据配置 mup.js。我运行mup setup命令,这里没有问题,它安装了Docker、Meteor、Mongo。但是当我运行 mup deploy 命令时,终端会显示以下错误消息。

这个容器我觉得跟Docker有关,我真的不知道。我希望有人解释我必须采取的步骤来解决这个问题。

$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

来自守护程序的错误响应:没有这样的容器:perfilesg。如下图所示。

module.exports = {
  servers: {
    one: {
      host: '162.243.136.97',
      username: 'root',
      pem: '~/.ssh/id_beri'
    }
  },

  app: {
    // TODO: change app name and path
    name: 'perfilesgs',
    path: '.',

    servers: {
      one: {},
    },

    buildOptions: {
      serverOnly: true,
    },

    env: {
      // TODO: Change to your app's url
      // If you are using ssl, it needs to start with https://
      ROOT_URL: 'http://162.243.136.97',
      MONGO_URL: 'mongodb://localhost/meteor',
    },

    // ssl: { // (optional)
    //   // Enables let's encrypt (optional)
    //   autogenerate: {
    //     email: 'email.address@domain.com',
    //     // comma separated list of domains
    //     domains: 'website.com,www.website.com'
    //   }
    // },

    docker: {
      // change to 'kadirahq/meteord' if your app is using Meteor 1.3 or older
      image: 'abernix/meteord:base',
    },

    // Show progress bar while uploading bundle to server
    // You might need to disable it on CI servers
    enableUploadProgressBar: true,
    deployCheckWaitTime: 300
  },

  mongo: {
    version: '3.4.1',
    servers: {
      one: {}
    }
  }
};

【问题讨论】:

标签: docker meteor digital-ocean meteor-up


【解决方案1】:

在 Meteor Up 的 1.3.0 版本中引入了“Prepare bundle”任务(参见release notes):

捆绑包上传到每个服务器后,会运行一个名为“准备捆绑包”的新任务。它安装 Meteor npm 依赖项,重建本地模块,并将结果存储在 docker 映像中。这有几个好处:

  • meteor.deployCheckWaitTime 中的时间不再需要包含安装 npm 依赖项的时间
  • 当安装依赖失败时,它不会持续重启,直到meteor.deployCheckWaitTime 过期,并且使用--verbose 运行会显示来自npm install 的完整日志
  • 在每次部署期间仅安装一次依赖项。这意味着 mup start、mup restart 和 mup reconfig 都快得多。

从 1.3.1 版本开始,可以通过在 mup.js 中添加选项 app.docker.prepareBundle 并将其设置为 false 来禁用此任务。几周前我处理了同样的错误,通过这个解决方法,我能够将我的应用程序部署到 DigitalOcean。

【讨论】:

    猜你喜欢
    • 2019-07-22
    • 1970-01-01
    • 2016-07-12
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 2017-05-16
    相关资源
    最近更新 更多