对 docker 图像中复制文件的误解
Mis-understand of copy file in docker images
你好有人可以帮助我将 docker(我是初学者)主机文件复制到我的 jupyter/pyspark-notebook 图像中。我从 docker 中提取了此笔记本,因为 public 可用。
我创建了一个包含这个的 Dockerfile。
FROM jupyter/pyspark-notebook:latest
ADD /home/abdoulaye/Documents/M2BIGDATA/Jaziri /bin/bash
我已将 /bin/bash
更改为 .
,但没有任何内容可见。
当我执行 docker built
时,就像它复制文件一样,如下面的输出所示。
当我打开我的笔记本时,我确实记下了找到的文件夹。如果我能找到这些复制的文件夹,我会检查我的快照,但我很困惑。
明确地说,我的 docker 中有一个 运行 笔记本,我在 y 导航器中使用它,但我无法加载数据。我喜欢将数据复制到可以在笔记本中访问的地方。
不能使用绝对路径复制,路径应该是相对于Dockerfile的路径,所以/home/abdoulaye/Documents/M2BIGDATA/Jaziri
Dockerfile里面的这个路径是不正确的。将文件复制到 Dockerfile 上下文,然后像
一样复制
ADD M2BIGDATA/Jaziri /work
现在首先,您不应该将文件从主机复制到可执行文件目录。
例如,
FROM alpine
copy hello.txt /bin/sh
如果你像这样复制,它会给容器内的 运行 命令带来问题,因为 sh
或 bash
将被替换或损坏。
2,当您使用无效上下文构建 docker 图像时,它应该与您的 Dockerfile 所在的位置相同,因此最好 运行 您放置 Dockerfile 的目录。
docker build -t my-jupyter .
3,你不应该在容器内使用 运行 cp
命令将文件从主机复制到容器。
docker cp /home/abdoulaye/Documents/M2BIGDATA/Jaziri container_id:/work
它会将您的文件复制到容器的 /work
路径。
你好有人可以帮助我将 docker(我是初学者)主机文件复制到我的 jupyter/pyspark-notebook 图像中。我从 docker 中提取了此笔记本,因为 public 可用。
我创建了一个包含这个的 Dockerfile。
FROM jupyter/pyspark-notebook:latest
ADD /home/abdoulaye/Documents/M2BIGDATA/Jaziri /bin/bash
我已将 /bin/bash
更改为 .
,但没有任何内容可见。
当我执行 docker built
时,就像它复制文件一样,如下面的输出所示。
明确地说,我的 docker 中有一个 运行 笔记本,我在 y 导航器中使用它,但我无法加载数据。我喜欢将数据复制到可以在笔记本中访问的地方。
不能使用绝对路径复制,路径应该是相对于Dockerfile的路径,所以/home/abdoulaye/Documents/M2BIGDATA/Jaziri
Dockerfile里面的这个路径是不正确的。将文件复制到 Dockerfile 上下文,然后像
ADD M2BIGDATA/Jaziri /work
现在首先,您不应该将文件从主机复制到可执行文件目录。
例如,
FROM alpine
copy hello.txt /bin/sh
如果你像这样复制,它会给容器内的 运行 命令带来问题,因为 sh
或 bash
将被替换或损坏。
2,当您使用无效上下文构建 docker 图像时,它应该与您的 Dockerfile 所在的位置相同,因此最好 运行 您放置 Dockerfile 的目录。
docker build -t my-jupyter .
3,你不应该在容器内使用 运行 cp
命令将文件从主机复制到容器。
docker cp /home/abdoulaye/Documents/M2BIGDATA/Jaziri container_id:/work
它会将您的文件复制到容器的 /work
路径。