Docker卷无法与Symfony4容器完全同步问题排查求助
Windows 10 Docker下Symfony4容器目录同步异常求助
各位大佬好,我在Windows 10(x64)上用Docker Compose搭建了基于PHP7.3+MariaDB的Symfony4简易项目,台式机上运行完全正常,但换到笔记本电脑后就碰到了容器目录同步异常的麻烦。
我的项目根目录是标准Symfony结构,包含/config、/public、/src、/env、/docker等目录,还有.env、docker-compose.yaml这类配置文件。
我用Git Bash启动项目的步骤如下:
- 执行
docker-compose build:全程顺利,无任何报错 - 执行
docker-compose up -d:成功启动,两个容器都显示正常运行状态 - 但用
docker-compose exec app bash进入容器控制台后,执行ls查看目录,发现只有docker和env目录被同步过来了,而且docker目录里只有子目录结构,没有任何文件
我自己试着排查了下,但Docker经验有限,docker-compose logs里完全找不到报错信息。而且这个问题是重启笔记本之后才出现的——之前这个项目在笔记本上还正常运行过一次呢。
下面是我的相关配置文件:
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
内容的提问来源于stack exchange,提问作者Evgeniy
相关产品推荐
相关产品推荐

