Skip to main content
 首页 » 编程设计

docker之Docker Compose端口映射:127.0.0.1拒绝连接

2025年05月04日351jillzhang

我目前正在使用Docker和一个简单的Flask网站,我想向其发送图像。为此,我正在使用端口8080,但是从docker到主机的映射无法正常工作,因为我无法连接。有人可以向我解释我做错了什么吗?

docker-compose.yml

version: "2.3" 
services: 
  dev: 
    container_name: xvision-dev 
    build: 
      context: ./ 
      dockerfile: docker/dev.dockerfile 
    working_dir: /app 
    volumes: 
      - .:/app 
      - /path/to/images:/app/images 
    ports: 
      - "127.0.0.1:8080:8080" 
      - "8080" 
      - "8080:8080" 

dev.docker文件
FROM tensorflow/tensorflow:latest 
 
WORKDIR /app 
 
COPY requirements.txt ./ 
RUN pip install -r requirements.txt 
 
RUN apt update && apt install -y python-tk 
 
EXPOSE 8080 
 
CMD ["python", "-u", "app.py"] 

app.py
@APP.route('/test', methods=['GET']) 
def hello(): 
    return "Hello world!" 
def main(): 
    """Start the script""" 
    APP.json_encoder = Float32Encoder 
    APP.run(host="127.0.0.1", port=os.getenv('PORT', 8080)) 

我使用 docker-compose up启动我的docker,这给出了输出: Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)

但是,当我对127.0.0.1:8080/test进行获取请求时,得到的是没有响应。

我也尝试了 docker-compose run --service-port dev,因为有人在网上建议,但这表明没有服务开发者。

有人可以帮我解决我做错的事情吗?

请您参考如下方法:

使用:

APP.run(host="0.0.0.0", port=os.getenv('PORT', 8080)) 

仅使用:
ports: 
 
  - "8080:8080" 

足够