对docker图像中复制文件的错误理解

对docker图像中复制文件的错误理解,docker,pyspark,jupyter-notebook,localhost,containers,Docker,Pyspark,Jupyter Notebook,Localhost,Containers,您好,有人能帮我把docker(我是初学者)主机文件复制到我的jupyter/pyspark笔记本图像中吗。我已经从docker那里把这个笔记本公开了 我已经创建了一个Dockerfile,其中包含这个 FROM jupyter/pyspark-notebook:latest ADD /home/abdoulaye/Documents/M2BIGDATA/Jaziri /bin/bash 我已将/bin/bash更改为,但没有可见内容。 当我执行docker Build时,就像它复制文件一样,

您好,有人能帮我把docker(我是初学者)主机文件复制到我的jupyter/pyspark笔记本图像中吗。我已经从docker那里把这个笔记本公开了

我已经创建了一个Dockerfile,其中包含这个

FROM jupyter/pyspark-notebook:latest
ADD /home/abdoulaye/Documents/M2BIGDATA/Jaziri /bin/bash
我已将
/bin/bash
更改为
,但没有可见内容。 当我执行
docker Build
时,就像它复制文件一样,如下面的输出所示。 当我去我的笔记本时,我确实发现了一些文件夹。我检查我的快照,如果我能找到这些复制文件夹,但我非常困惑


很明显,我的docker中有一个正在运行的笔记本,我在y navigator中使用它,但我无法加载数据。我喜欢将数据复制到笔记本中可以访问的地方

不能使用绝对路径进行复制,该路径应与Dockerfile相对,因此
/home/abdollaye/Documents/M2BIGDATA/Jaziri
Dockerfile中的此路径不正确。将文件复制到Dockerfile上下文,然后像

ADD M2BIGDATA/Jaziri /work
首先,您不应该将文件从主机复制到可执行文件目录

比如说,

FROM alpine
copy hello.txt /bin/sh

如果您这样复制,则会在容器内运行命令时产生问题,因为
sh
bash
将被替换或损坏

第二,当您使用无效上下文构建docker映像时,它应该与Dockerfile所在的位置相同,因此最好运行放置Dockerfile的目录

docker build -t my-jupyter .
第三,不要在容器内运行
cp
命令将文件从主机复制到容器

docker cp /home/abdoulaye/Documents/M2BIGDATA/Jaziri container_id:/work

它会将您的文件复制到容器的路径中。

为什么/bin/bash?那似乎是个放文件的奇怪地方。你找过文件了吗?另外,请尝试检查容器,查看该位置是否存在任何卷。我已将“.”替换为bin/bash