【问题标题】:how to go from development docker-compose.yml to deployed docker-compose.yml in aws如何从开发 docker-compose.yml 到在 aws 中部署 docker-compose.yml
【发布时间】:2018-03-28 21:05:04
【问题描述】:

我有以下 docker-compose.yml:

version: '3'
services:
    server:
        build:
            context: ../../
            dockerfile: ./packages/website/Dockerfile
        command: yarn serve
        environment:
            PORT: 3000
            NODE_ENV: production
        restart: always
    nginx:
        build:
            context: ./
            dockerfile: ./nginx/Dockerfile
        command: nginx -c /etc/nginx/nginx.conf -g "daemon off;"
        depends_on:
            - server
        ports:
            - "80:80"
        restart: always

这在本地工作得非常好,但现在我想将它部署到 t2 micro 或其他一些付费服务,但我不知道该怎么做。

我想我需要创建一个单独的 docker-compose.yml 文件,该文件引用图像而不是物理 Dockerfile

谁能说明我将如何处理这个问题?

【问题讨论】:

  • 为什么不为每个环境创建一个单独的docker-compose.yml? (你已经猜到了)

标签: amazon-web-services docker docker-compose


【解决方案1】:

如果你把整个目录放到云端(并保持目录结构),它会起作用。

如果您只是想将 docker-compose.yml 文件上传到云端而没有其他任何内容,则需要通过删除 build 字段并添加 image: xxx 字段来修改它。

现在的问题变成了“如何在我的 docker-compose.yml 文件中引用图像”。

实现这一点的两种方法:

  1. 构建镜像并将其放在某个容器注册表中,可以是 DockerHub,也可以是私有的。并通过registry-url/image-name:image-tag 引用它。如果您使用的是 DockerHub,则可以忽略 registry-url/ 部分。
  2. 将映像和scp 构建到云端。并通过image-name:image-tag 引用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    相关资源
    最近更新 更多