Docker + React App:如何在前端使用保存在API服务器端文件夹中的文件?

问题描述

因此,我陷入了与使用服务器中存储的文件有关的问题,并且无法在前端显示它们。

我的项目是: 使用Docker的React + Redux React应用已满,即有一个用于后端的API文件夹(react / redux),一个用于前端的CLIENT文件夹(react / libraries)和作为数据库的MongoDB。

Docker Compose在一个容器中创建了API,CLIENT和MONGO这三个部分。

因此,在前端,用户能够选择一个图像作为头像,然后,该图像通过图层发送并保存在API docker图像内的特定文件夹(NOT BUILD / PUBLIC等)中。可以删除/删除并重新选择它。一切正常!

问题是此图像在前端显示。化身组件使用IMAGE SRC进行显示,但是我找不到有效的URL来使前端能够看到保存在API /服务器中的图像文件。

由于它位于容器中,因此我尝试了所有可以在Docker文档中找到的可能性...我认为该解决方案通过NETWORK docker-compose选项进行中继,即使无法实现。

Docker撰写文件:

version: '3.8'

services:
  client:
    build: ./client
    stdin_open: true
    image: my-client
    restart: always
    ports:
        - "3000:3000"
    volumes:
        - ./client:/client
        - /client/node_modules
    depends_on:
        - api
    networks:
        mynetwork:
            ipv4_address: 172.19.0.9

  api:
    build: ./api
    image: my-api
    restart: always
    ports:
        - "3003:3003"
    volumes:
        - ./api:/api
        - logs:/api/logs
        - /api/node_modules
    depends_on:
        - mongo
    networks:
        mynetwork:
            ipv4_address: 172.19.0.10

  mongo:
    image: mongo
    restart: always
    ports:
        - "27017:27017"
    volumes:
        - mongo_data:/data/db
    networks:
        - mynetwork

volumes:
  mongo_data:
  logs:

networks:
  mynetwork:
    driver: bridge
    ipam:
        config:
            - subnet: "172.19.0.0/24"

总而言之,API端有一个包含图像/文件的文件夹,我想参考它们

<img src="mynetwork:3003/imagefolder/imagefile.png">或类似的东西...

我不敢相信我必须使用其他解决方案... Another Stackoverflow Reply

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...