Я очень новичок в 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 ВЫПОЛНЕННАЯ директива, чтобы Вы отправили. Если Вы создаете изображения докера и имеете файл, локальный для Вашей машины, которая должна быть скопирована в изображение докера, то необходимо добавить директиву КОПИИ Dockerfile:
COPY <src file> <dest>
Для Вас, которые были бы
COPY zips.json /tmp/zips.json
Который скопировал бы zips.json с Вашей файловой системы Хоста в контейнерное изображение в/tmp/zips.json местоположении.
Директива КОПИИ должна быть добавлена перед директивой ВЫПОЛНЕНИЯ. Также необходимо удалить wget часть из директивы выполнения.
/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
в текущей папке.
Надеюсь, это поможет