2016-10-28 1 views
6

Мне нужно импортировать файлы данных из локального файла пользователя C:/users/saad/bdd в контейнер докеров (cassandra), я не нашел, как действовать используя команды докеров. Я работаю на окнах 7.Как скопировать файлы с локального компьютера в контейнер докеров на окнах

Большое спасибо за вашу помощь

+3

Возможный дубликат [Копирование файлов с хоста на контейнер докеров] (http://stackoverflow.com/questions/22907231/copying-files-from-host-to-docker-container) – R0MANARMY

ответ

12

Использование docker cp.

docker cp c:\path\to\local\file container_name:/path/to/target/dir/ 

Если вы не знаете, что это имя контейнера, вы можете найти его с помощью:

docker ps --format "{{.Names}}" 
+0

Спасибо, Альваро за ваш быстрый ответ , но когда я пробую этот код: docker cp C: \ Users \ Saad \ bdd-restaurants cassandra:/var/lib/docker/container, я получаю это сообщение об ошибке: копирование между контейнерами не поддерживается – Manou

+0

Также, как я могу знать точный путь контейнера? – Manou

+1

Пожалуйста, не отправляйте повторяющиеся ответы, есть уже немало хороших ответов в связанном вопросе. – R0MANARMY

1

Если вы используете Докер-инструментов на окнах, используйте следующий синтаксис

docker cp/C/Пользователи/Saad/bdd-restaurants cassandra:/var/lib/docker/контейнеры

+1

Ваш ответ кажется идентичным [Alvaro Carvajal's one] (http://stackoverflow.com/a/40313917/3982001). Не могли бы вы [изменить] его и объяснить, почему это другое? В противном случае, если это не так, пожалуйста, подумайте, что дополнительные ответы должны добавить что-то к уже сказанному, иначе они не будут полезны. Спасибо! –

1

Это не так прямолинейно, когда используется панель инструментов для докеров. Поскольку панель инструментов докеров имеет доступ только к папке 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 

И строить его.

Смежные вопросы