Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 我想将上述存储库中的DB、API和前端容器部署到AWS ECS中,以便它们可以操作_Reactjs_Django_Postgresql_Docker Compose_Amazon Ecs - Fatal编程技术网

Reactjs 我想将上述存储库中的DB、API和前端容器部署到AWS ECS中,以便它们可以操作

Reactjs 我想将上述存储库中的DB、API和前端容器部署到AWS ECS中,以便它们可以操作,reactjs,django,postgresql,docker-compose,amazon-ecs,Reactjs,Django,Postgresql,Docker Compose,Amazon Ecs,我想将上述存储库中的DB、API和前端容器部署到AWS ECS中,以便它们可以操作 因此,为了单独操作容器,docker-compose.yaml文件被划分为多个容器 我将容器推到ECR并用ECS操作,但它无论如何都停止了。 我应该在哪里复习呢?我花了一些时间在这方面。我从哪里开始:) 首先也是最重要的是,compose文件具有绑定挂载,当您部署到ECS/Fargate时无法工作(因为挂载的本地文件在远程端不存在)。因此,需要做以下三件事: 您需要删除rest\u api和web\u fron

我想将上述存储库中的DB、API和前端容器部署到AWS ECS中,以便它们可以操作

因此,为了单独操作容器,docker-compose.yaml文件被划分为多个容器

我将容器推到ECR并用ECS操作,但它无论如何都停止了。
我应该在哪里复习呢?

我花了一些时间在这方面。我从哪里开始:)

首先也是最重要的是,compose文件具有绑定挂载,当您部署到ECS/Fargate时无法工作(因为挂载的本地文件在远程端不存在)。因此,需要做以下三件事:

  • 您需要删除
    rest\u api
    web\u front
    服务的绑定挂载
  • 您需要在
    DockerfilePython
    中追加
    ADD./code/django\u rest\u api//code
    ,并在
    DockerfileNode
    中追加
    ADD./code/django\u web\u front//code
    。这将基本上模拟绑定装载,并将文件夹的内容包含在图像中
  • 您需要将
    image
    字段添加到这三项服务中。这将允许您
    docker compose build
    和docker compose push`以便可以在云中部署映像
这是我生成的合成文件(您需要更改图像):

这将在ECS上下文中使用
docker compose up
部署,API服务器将正常工作。但是,React前端将无法工作,因为
App.js
代码指向localhost:

const constants = {
  "url": "http://localhost:8000/api/profile/?format=json"
}
我不知道React的等价物是什么,但在角度上,您需要沿着
window.location.href
的线条指向某个东西,以告诉应用程序指向您的浏览器连接到的同一端点

如果您解决了这个问题,那么它应该可以正常工作(tm)

const constants = {
  "url": "http://localhost:8000/api/profile/?format=json"
}