问题描述
我有以下设置:
- (Symfony) PHP 8.0 后端
- (Angular12) Javascript 前端
在一个表单中,我将一个 Base64 编码的文件发送到操作和保存文件的后端。在前端,我想显示保存的文件。
我不确定在不发布我的 Dockerfiles 和 docker-compose 的情况下会显示设置
后端图片:
FROM PHP:8.0-fpm
...
# Create Folder for Uploaded Data
RUN mkdir -p /usr/src/upload
copY --chown=1000:1000 apps/frontend/src/assets/images/upload /usr/src/upload
workdir /usr/src/app
# copy the source to the Container
copY --chown=1000:1000 apps/backend /usr/src/app
...
前端图片
FROM node:12.19 as build
...
# set working directory
workdir /app
...
# add app
copY apps/frontend /app
...
# base image
FROM Nginx:1.19.6-alpine
# copy artifact build from the 'build environment'
copY --from=build /app/dist /usr/share/Nginx/html
RUN chown Nginx:Nginx /usr/share/Nginx/html/*
在容器中,我拥有 ls -l /usr/src
drwxrwxrwx 1 root root 4096 Jun 15 15:30 app
-rw-r--r-- 1 root root 10755796 Mar 6 03:06 PHP.tar.xz
-rw-r--r-- 1 root root 858 Mar 6 03:06 PHP.tar.xz.asc
drwxr-xr-x 1 root root 4096 Jun 15 15:30 upload
我的 Docker Compose 为了能够从前端访问文件,我将后端文件夹挂载到前端资产。但是,我认为错误发生在此之前:
version: '3.8'
services:
...
Nginx:
image: Nginx:1.19.6-alpine
restart: on-failure
volumes:
- './apps/backend/public/:/usr/src/app'
- './apps/frontend/src/assets/images/upload/:/usr/src/upload'
- './docker/Nginx/backend.conf:/etc/Nginx/conf.d/default.conf:ro'
ports:
- 8002:80
depends_on:
- PHP
PHP:
build:
context: .
dockerfile: docker/PHP/Dockerfile
volumes:
- './apps/backend/:/usr/src/app'
restart: on-failure
user: 1000:1000
env_file:
- .env.docker
networks:
default:
$monthYear = new DateTime();
$path = $folder . '/' . $monthYear->format('Y-m');
if (!$this->filesystem->exists($path)) {
$this->filesystem->mkdir($path);
}
这给了我
未能创建“/usr/src/upload/2021-06”:mkdir():权限被拒绝
我哪里错了?任何提示高度赞赏!
// 编辑 随着
RUN mkdir -p /usr/src/upload
RUN chmod -R 777 /usr/src/upload
权限错误消失,图像被上传。但是,它们不在本地 Volume 中?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)