首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docker在容器内编写Nginx无法使用同一容器的公有地址

Docker在容器内编写Nginx无法使用同一容器的公有地址
EN

Stack Overflow用户
提问于 2019-12-30 05:30:22
回答 1查看 115关注 0票数 0

我无法在具有公共IP地址的容器内执行curl/wget

nGinX

代码语言:javascript
运行
复制
server {
  listen 3001;
  listen [::]:3001;

  location / {
    proxy_pass http://api;
  }
}

server {
  listen 3002;
  listen [::]:3002;

  location / {
    proxy_pass http://web;
  }
}

docker-compose

代码语言:javascript
运行
复制
services:
  api:
    image: api
    container_name: api
    build: ./api
    restart: always
    networks:
      - docker-network

  web:
    image: web
    container_name: web
    build: ./web
    restart: always
    networks:
      - docker-network

  proxy:
    image: nginx
    container_name: proxy
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/proxy.conf
    restart: always
    ports:
      - "80:80"
      - "443:443"
      - "3001:3001"
      - "3002:3002"

    networks:
      - docker-network

networks:
  docker-network:
    driver: bridge

在容器中:

docker ps

docker exec -it web bash

wget example.com -> response 200工作正常

wget <public ip address of my server>:3001 ->连接超时

有人能帮助我们理解如何通过公共调用从容器内部对另一个容器进行http/curl/wget调用吗?这在服务器端渲染的情况下非常有用,因为我们需要从api中获取web中的数据

EN

回答 1

Stack Overflow用户

发布于 2020-01-01 03:40:12

原来我在DigitalOcean上使用的是Ubuntu,但是仅仅使用CentOS就解决了这个问题!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59523478

复制
相关文章

相似问题

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