为什么要复制/tmp/?

为什么要复制/tmp/?

我对 Linux 及其命令非常陌生。我想要的是使用cp命令而不是wget从浏览器请求。因为我正在使用 docker 和蒙戈网站过滤了我们国家的 IP。我已经在本地系统上下载了文件,并想将其复制到特定路径。我希望使用wget命令实现相同的功能。

这是我的 import-data.sh 文件:

apt-get update && apt-get install -y wget
wget -O /tmp/zips.json "http://media.mongodb.org/zips.json"
mongoimport --db=test --collection=zips /tmp/zips.json

正如我所提到的,zips.json 文件已下载到本地(./zips.json)并且不知道如何用 cp 或任何其他命令替换它以正常工作。

答案1

这看起来像您发布的 Dockerfile RUN 指令。如果您正在构建 docker 镜像,并且您的计算机本地有一个需要复制到 docker 镜像中的文件,那么您需要添加 Dockerfile COPY 指令:

COPY <src file> <dest>

对你来说,那将是

COPY zips.json /tmp/zips.json

这会将 zips.json 从主机文件系统复制到 /tmp/zips.json 位置的容器映像中。

必须在 RUN 指令之前添加 COPY 指令。您还需要从 run 指令中删除 wget 部分。

答案2

为什么要复制/tmp/


由于您已将文件下载到当前文件夹中,因此不需要前两行import-data.sh。我建议注释掉前两行并修改最后一行以指向当前文件夹:

#apt-get update && apt-get install -y wget
#wget -O /tmp/zips.json "http://media.mongodb.org/zips.json"
mongoimport --db=test --collection=zips ./zips.json

请注意#前两行开头的(注释符号)和zips.json当前文件夹中下载文件的位置。

希望这可以帮助

相关内容