我是 linux 及其命令的新手。我想要的是使用cp
命令而不是wget
从浏览器请求。因为我使用的是 docker 并且mongo 站点过滤了我们国家的 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 或任何其他命令才能正常工作。
这看起来像您发布的 Dockerfile RUN 指令。如果您正在构建 docker 镜像并且有一个本地文件需要复制到 docker 镜像中,那么您需要添加 Dockerfile COPY 指令:
对你来说,那就是
这会将 zips.json 从您的主机文件系统复制到 /tmp/zips.json 位置的容器映像中。
必须在 RUN 指令之前添加 COPY 指令。您还需要从 run 指令中删除 wget 部分。
为什么要复制到
/tmp/
呢?由于您已将文件下载到当前文件夹中,因此您不需要前两行
import-data.sh
. 我建议注释掉前两行并修改最后一行以指向当前文件夹:注意
#
前两行开头的(注释符号)以及下载文件zips.json
在当前文件夹中的位置。希望这可以帮助