gpt4 book ai didi

apache - 为什么我无法将我的文件复制到 docker 容器中?

转载 作者:行者123 更新时间:2023-12-01 15:35:20 24 4
gpt4 key购买 nike

我正在尝试将我的文件移动到 apache 图像的 htdocs 文件夹中。
她是我的 dockerfile 的样子:

FROM httpd:2.4
MAINTAINER Ankit
COPY ./public-html/ /usr/local/apache2/htdocs/

但是 COPY 命令不会将文件复制到容器中。
这是输出 - 默认情况下 index.html 在那里,我要复制的是 public-html 文件夹:
root@8453b6ffa6fd:/usr/local/apache2/htdocs# ls
index.html

有什么我想念的吗?

更新:
public-html 文件夹没有被复制,但文件 index.html 被复制到那里,这种行为的原因是什么?

UPDATE2:这是我最新的 dockerfile,用于构建和运行容器的命令。
Dockerfile:
FROM httpd:2.4
MAINTAINER Ankit
COPY public-html/ /usr/local/apache2/htdocs/public-html/

docker build -f Dockerfile -t apache .
docker run -d --name apws -v /Users/ankitsahu/workspace/docker_practi
ce/public-html:/usr/local/apache2/htdocs/ -p 80:80 apache

当我使用 exec 命令检查内容时:
root@b54e53a231b7:/usr/local/apache2/htdocs# ls -a
. .. index.html sample.html try

最佳答案

如果您尝试复制目录 public-html进入目录/usr/local/apache2/htdocs有一个 .../htdocs/public-html/目录,然后使用以下内容:

COPY public-html/ /usr/local/apache2/htdocs/public-html/

默认情况下,复制目录将复制该目录的内容,因此您需要在目标中命名它以显示目录。

编辑:您的运行命令包含一个将替换此目录图像内容的卷:
docker run -d --name apws -v /Users/ankitsahu/workspace/docker_practice/public-html:/usr/local/apache2/htdocs/ -p 80:80 apache

如果您想查看图像中的内容,请不要使用卷:
docker run -d --name apws -p 80:80 apache

如果您想使用该卷,请在您的 docker 主机上修改/Users/ankitsahu/workspace/docker_practice/public-html 的内容。

关于apache - 为什么我无法将我的文件复制到 docker 容器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45401786/

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