首页 > 解决方案 > Docker Compose Up 在本地工作,无法部署到 AWS

问题描述

我正在尝试将我的 docker 容器(在一个容器中托管两个图像)部署到 AWS。我可以成功地在本地运行docker compose up,并且在我的本地 Docker 上构建和运行容器。

但是,当我为 ECS 设置了新上下文并切换到这个新上下文时。但是,当我运行docker compose up(我认为现在应该部署到 AWS)时,我得到了错误docker.io/xxxx/concordejs_backend:latest: not found

我的docker-compose.yml文件如下所示:

version: '3'

services:
  backend:
    image: xxxx/concordejs_backend
    build:
      context: ./backend
      dockerfile: ./Dockerfile
    container_name: concorde-backend
    ports:
      - "5000:5000"
  frontend:
    image: xxxx/concordejs_frontend
    build:
      context: ./frontend
      dockerfile: ./Dockerfile
    container_name: concorde-frontend
    ports:
      - "3001:3000"

标签: amazon-web-servicesdockerdocker-compose

解决方案


该图像已在您的本地计算机上构建,并且每次您在本地启动 docker-compose 时都会从它们中检索。

AWS 服务正在尝试从公共存储库 docker.io (dockerhub) 中检索映像,因为它没有您在本地构建的映像。

一种解决方案可能是将本地映像推送到 dockerhub 以供 ECS 访问,或者您可以使用 AWS 的存储库服务 ECR。https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_ECS.html


推荐阅读