gpt4 book ai didi

docker - Docker不会将文件夹从主机同步到容器

转载 作者:行者123 更新时间:2023-12-02 19:49:45 24 4
gpt4 key购买 nike

我在docker-compose.yml文件上尝试了多种不同的组合。

当这行:

- .:/var/www/html

改为:
- *:/var/www/html

然后它将复制工作目录中的文件,但是没有同步。
香港专业教育学院试图用qoutes包围线,将点更改为./,但没有结果。 var / www / html为空或仅在使用*时才包含文件,但没有同步。

这是我的Dockerfile
FROM php:7.3.0-apache

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
&& apt-get update && apt-get install -y git libzip-dev unzip \
&& docker-php-ext-install zip \
&& a2enmod rewrite headers

COPY . /var/www/html/

COPY ./config/vhost.conf /etc/apache2/sites-available/000-default.conf

和docker-compose.yml。
version: '3.4'

services:
app:
ports:
- 80:80
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html/app/public
build:
context: .
volumes:
- .:/var/www/html

编辑:
更新。我试图删除复制行,但只能在容器上创建一个空的html目录。
据我检查的方式,我在runnint容器上执行docker exec -it,然后在html目录上执行ls命令。
到目前为止,我已经重新安装了docker toolbox,并注意到其中包含一个gui ...在执行docker volume ls时,我没有看到任何卷,但是该卷显示在Kitematic中。
但是,主机上的目录不是您期望的,它不是docker-compose所在的驱动器d上的文件夹,而是我的文档中的文件夹。尝试将其更改为gui上的正确目录,并显示目录无效。我记得在某处读到docker对主机文件系统的访问受到限制,我想知道我是否没有错过这里的某个步骤,而应该与docker共享整个驱动器D。

编辑2:
将驱动器d上的文件夹添加到名为default的vm到共享文件夹列表中,重新启动全部,但仍然没有骰子。如何指定驱动器D上的位置?

最佳答案

如果要保持主机和容器之间的文件夹同步,则需要使用mount代替coping:
check this documentation

对于您的问题,您需要从Dockerfile中删除COPY . /var/www/html/
您也可以检查此post.

关于docker - Docker不会将文件夹从主机同步到容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61659093/

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