首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头集装箱不与同一码头网络中的其他人通信(桥)

码头集装箱不与同一码头网络中的其他人通信(桥)
EN

Stack Overflow用户
提问于 2020-03-25 06:19:15
回答 1查看 311关注 0票数 0

我试图在amazon服务器上设置web服务器的环境。我想使用django,react,nginx,它们在每个码头容器上运行。

下面是运行坞容器的命令。

代码语言:javascript
复制
sudo docker run --name django-server
  -it -d -p "8000:8000"
  --volume=$(pwd)/trello-copy-django-src:/backend/trello-copy
  django-server

sudo docker run --name nginx-server
  -d -p "80:80"
  --volumes-from react-server
  nginx-server

我没有指定自定义码头网桥,我通过输入$ docker inspect bridge检查它们是否位于相同的默认网桥上。

代码语言:javascript
复制
[{
  "Name": "bridge",
  ...,
  "Containers": {
    "...": { "Name": "django-server", ... },
    "...": { "Name": "react-server", ... },
    "...": { "Name": "nginx-server", ... },
  }
}]

所以,我希望下面的反应代码能正常工作。但是它只在我的笔记本电脑上工作,它和aws的对接结构完全一样。

代码语言:javascript
复制
...
const res = await fetch('http://127.0.0.1:8000/api/');
...

Failed to load resource: net::ERR_CONNECTION_REFUSED 127.0.0.1:8000/api/:1

我做错了什么?

这些是我的django settings.py文件中的代码。

代码语言:javascript
复制
CORS_ORIGIN_ALLOW_ALL=True # only for dev
CORS_ALLOW_CREDENTIALS=True # only for dev
CORS_ORIGIN_WHITELIST = (
    'http://localhost',
    'http://localhost:3000',
)

CORS的消息是App.js:10 Fetch API cannot load django-server:8000/api/. URL scheme must be "http" or "https" for CORS request.

我认为这是不同的问题,然后django和CORS并不是真正的问题..。我说的对吗?

我发现ajax await fetch('http://127.0.0.1:8000/api/');的“localhost”实际上意味着客户端(浏览器)。

我必须在那里使用服务器的公共IP吗?

EN

回答 1

Stack Overflow用户

发布于 2020-03-25 06:22:55

你不能用127.0.0.1打电话。相反,需要使用正在运行的容器的名称。如下所示:

代码语言:javascript
复制
const res = await fetch('django-server:8000/api/');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60843785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档