Мне нужно импортировать файлы данных из локального файла пользователя C:/users/saad/bdd в контейнер докеров (cassandra), я не нашел, как продолжать использовать команды докеров. Я работаю над окнами 7.
Большое спасибо за вашу помощь
Мне нужно импортировать файлы данных из локального файла пользователя C:/users/saad/bdd в контейнер докеров (cassandra), я не нашел, как продолжать использовать команды докеров. Я работаю над окнами 7.
Большое спасибо за вашу помощь
Используйте docker cp
.
docker cp c:\path\to\local\file container_name:/path/to/target/dir/
Если вы не знаете, что имя контейнера, вы можете найти его, используя:
docker ps --format "{{.Names}}"
Если вы используете панель инструментов docker для Windows, используйте следующий синтаксис
docker cp/C/Пользователи/Saad/bdd-restaurants cassandra:/var/lib/docker/контейнеры
Это не так прямолинейно, когда используется панель инструментов докеров. Поскольку панель инструментов докеры имеет доступ только к папке C:\Users\
, и между ними есть диспетчер виртуальных ящиков Oracle, когда вы копируете папку, она напрямую не копируется в контейнер, а вместо этого на установленный дескриптор тома с помощью машины Oracle VM. Например:
/mnt/sda1/var/lib/docker/volumes/19b65e5d9f607607441818d3923e5133c9a96cc91206be1239059400fa317611/_data
Как я обошел это, просто отредактировал мой DockerFile:
FROM cassandra:latest
ADD cassandra.yml /etc/cassandra/
ADD import.csv /var/lib/cassandra/
EXPOSE 9042
И построим его.
При использовании панели инструментов Docker, похоже, возникает другая проблема, связанная с абсолютными путями.
Я общаюсь с контейнерами с помощью "Докера быстрого запуска Docker", который по сути является средой MINGW64.
Если я пытаюсь скопировать файл с абсолютным путем к контейнеру, я получаю сообщение об ошибке.
$ docker cp /d/Temp/my-super-file.txt container-name:/tmp/
copying between containers is not supported
Если я использую относительный путь, он просто работает.
$ cd /d/
$ docker cp Temp/my-super-file.txt container-name:/tmp/
PS: я публикую это как ответ из-за отсутствия репутации для комментария.
Вот просто сделай это типа ответа
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
94ef16fa1d18 tensorflow/tensorflow "/run_jupyter.sh --a…" 2 days ago Up 2 days 6006/tcp, 0.0.0.0:8888->8888/tcp adoring_engelbart
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker ps --format "{{.Names}}"
adoring_engelbart
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker cp ~/Documents/dead-exorcist/satan_ml/satan_ml.tar.gz adoring_engelbart:/notebooks
belzebub-system:~/Documents/dead-exorcist/satan_ml$
Использование этой команды поможет скопировать файлы с хост-машины в докер-контейнер.
docker cp c:\abc.doc <containerid> :C:\inetpub\wwwroot\abc.doc
если вы пытаетесь скопировать файл из windows в экземпляр EC2, используйте следующую команду в cmd (Putty включена):
pscp -i "D:\path_to_ppk_key" c:\file_name [email protected]**.***.**.*:/home/ubuntu/file
Затем вы можете скопировать в Docker в EC2, используя
docker cp /home/ubuntu/file_name Docker_name:/home/