gpt4 book ai didi

docker - Docker卷不是一个容器的完全同步目录

转载 作者:行者123 更新时间:2023-12-02 18:28:40 29 4
gpt4 key购买 nike

我已经通过docker-compose为基于PHP7.3 + mariadb的Symfony4创建了一个简单的项目。我将Docker用于Windows 10(x64)
它可以在一台机器上正常工作,但在笔记本电脑上无法与容器正确同步。

在根文件夹中,我具有带有 docker 文件的标准Symfony结构,例如:
-/配置
- /上市
-/ src
....
-/ env
-/ docker
-.env
-docker-compose.yaml
...

我在Git Bash中启动应用程序的操作:

  • docker-compose构建
  • 它正常工作,所有操作均已成功完成
  • docker-compose up -d
  • 它正常工作,两个容器都成功运行
  • docker-compose exec应用bash
  • 正常工作,控制台启动
  • ls
  • 结果是docker env
  • 它仅同步2个目录-docker和env
  • docker dir未在完全模式下同步-仅子目录结构而没有文件

  • 我试图检测出文件同步问题的原因是什么,但是我对Docker的了解和经验不足。 docker-compose日志没有错误。

    也许有人可以帮助找到原因?它一次启动,但重新启动后再次出现问题...

    docker-compose.yaml:
    version: '3'

    services:
    app:
    restart: unless-stopped
    build:
    context: .
    dockerfile: docker/webserver-apache/Dockerfile
    image: php:7.3.1-apache-stretch
    volumes:
    - "./docker/webserver-apache/sites-enabled:/etc/apache2/sites-enabled:ro"
    - "./:/var/www/html"
    ports:
    - 8080:80
    networks:
    - dphptrainnet

    mariadb:
    restart: unless-stopped
    image: mariadb:10.4.1
    networks:
    - dphptrainnet
    volumes:
    - ./env/mariadb/data:/var/lib/mysql
    ports:
    - 3306:3306
    environment:
    MYSQL_ROOT_PASSWORD: ${MYSQL_PASSWORD}

    networks:
    dphptrainnet:

    Dockerfile:
    FROM php:7.3.1-apache-stretch

    # Setting up constants for an environment
    ENV PHP_MEMORY_LIMIT 512M

    RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
    php composer-setup.php && \
    php -r "unlink('composer-setup.php');" && \
    mv composer.phar /usr/local/bin/composer

    RUN apt-get update && \
    apt-get install -y curl vim git zip unzip

    # Setting up httpd issues
    RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
    RUN a2enmod rewrite headers && /etc/init.d/apache2 restart
    RUN echo "127.0.0.1 dockertrain.local" >> /etc/hosts

    WORKDIR "/var/www/html"

    RUN a2enmod rewrite

    最佳答案

    我只找到一种可行的解决方案-为Docker重新共享驱动器:
    1.禁用共享磁盘,单击“应用”
    2.启用共享磁盘,单击“应用”。
    3.重新启动应用程序-文件已同步

    但是,我应该如何检测驱动器访问方面的任何问题?没有错误,没有日志...

    关于docker - Docker卷不是一个容器的完全同步目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54607527/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com