【发布时间】:2020-06-09 13:41:54
【问题描述】:
我对 Docker 有一个“奇怪”的问题。
我有一个 PHP 容器,运行一个我们可以上传文件的 Web 应用程序。 问题是:当我上传文件时,文件存在于主机卷中但不在“目标卷”中......
这是我的 docker-compose.yml:
php:
build:
context: .
dockerfile: docker/php/Dockerfile
volumes:
- ./app/:/usr/src/app
restart: on-failure
user: 1000:1000
environment:
APP_ENV: dev
APP_DEBUG: 1
SECRET: fezfze954fze564fze1z51fze546fe
DB_USER: ff
DB_PWD: 48zef5ze1f45ze1f45ze6
DB_NAME: ff
DB_VER: mariadb-10.4.12
DB_PORT: 3306
GRECAPTCHA: 1f65ze1fze61fze65f1ze651fze65fze
MJ_APIKEY_PUBLIC: fe65fze165efz165fze16f5ez16f5ze
MJ_APIKEY_PRIVATE: f495ez4fez561fze561fz6e515fze
MJ_EMAIL_DEFAULT: fezfezy@ffzefezfez.com
还有 dockerfile:
# ./docker/php/Dockerfile
FROM php:7.4-fpm
RUN docker-php-ext-install pdo_mysql
#OPCACHE
RUN docker-php-ext-install opcache
COPY docker/php/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
#PHP Config
COPY docker/php/php.ini-development /usr/local/etc/php/php.ini
RUN pecl install apcu
RUN apt-get update && \
apt-get install -y \
zlib1g-dev
RUN apt-get install -y \
libzip-dev \
libicu-dev \
zip \
&& docker-php-ext-install zip
RUN docker-php-ext-enable apcu \
&& docker-php-ext-install intl
# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
COPY --chown=33 app/ /usr/src/app
WORKDIR /usr/src/app
RUN PATH=$PATH:/usr/src/apps/vendor/bin:bin
示例 1:
我通过我的网络应用上传了一个文档。 该文档在 Web 应用程序中的我的 IDE (PhpStorm) 上可见 如果我执行 docker exec -it container bash 并转到 Web 应用程序,我会看到它 但是,如果我通过我的浏览器,我看不到它,我仍然看到旧文件。
谁有解决办法?
【问题讨论】:
-
Docker 卷不喜欢尾部斜杠:stackoverflow.com/questions/38583900/…
-
这能回答你的问题吗? Mounted volume is empty inside container
-
你好 :) 不......我真的不知道为什么......
-
我刚刚加了一个例子