Docker卷未同步

时间:2020-06-09 13:41:54

标签: docker volume

我对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应用程序,则会看到它 但是,如果我通过浏览器,则看不到它,并且仍然看到旧文件。

有人有解决办法吗?

1 个答案:

答案 0 :(得分:0)

我只是找到原因:文件权限设置为root ...(因此无法公开读取) 但是,我有“ user:1000:1000”指令,所以为什么要获得根目录?