2017-02-18 1 views
3

Я использую команду: диспетчер счётчиков docker-machine: /home/docker/foo.txt.docker-machine на окнах 10 - «У вас должна быть копия двоичного кода scp локально, чтобы использовать функцию scp»

однако Windows PowerShell return «У вас должна быть копия локального scp локально, чтобы использовать функцию scp».

Уверен, что у меня установлена ​​«докер для окон» & «Докеры». И что же мне делать?

+0

у меня такая же проблема, но я не могу найти какие-либо решения, но «Wget» команда доступна в виртуальном машина, созданная «докер-машиной», вы можете использовать Tomcat или Nginx для сопоставления файла с http url, который работает, но не идеален. – Reeves

+0

У меня была эта же проблема с использованием ** Visual Studio Code ** (как администратора) на ** Windows 10 **. Используйте ** Git Bash ** (как администратор). – BinaryJoe01

ответ

3

Я также столкнулся с аналогичной проблемой в Windows 8.1. Я использовал Git Bash (в режиме администратора) вместо Powershell, чтобы решить эту проблему.

+0

Как вы запустили докер-машину от bash? Я получаю ошибку «команда не найдена». – Bullines

+0

Ну, я не делал ничего особенного для запуска докер-машины из bash, это просто сработало. Но у меня уже был git-bash, установленный на моей машине, прежде чем я установил докер. – Hrushikesh

0

Я обошел это, используя программу scty scty под названием pscp.exe, которую я уже установил.

(изначально я пытался переименовать 'pscp' в 'scp', но это не работает, потому что docker engine использует параметр -o для отправки SSH-команд. 'Pscp' не имеет опции -o.)

Вы можете использовать pscp в командной строке напрямую. Сначала найдите IP-адрес виртуальной машины:

docker-machine env <VM_name> 

Имя виртуальной машины в вашем случае - «менеджер». Возьмите ip-адрес (без порта) из переменной $ Env: DOCKER_HOST. Например:

$Env:DOCKER_HOST = "tcp://192.168.XXX.XXX:2376" 

Затем используйте PSCP для отправки файла:

pscp <file_to_send> [email protected]<ip_address_of_VM>:/home/docker/foo.txt 

Вам будет предложено ввести пароль пользователя «Докер». Я обнаружил, что docker использует пароль по умолчанию 'tcuser', который работал, когда я это делал.

0

У меня была эта же проблема с использованием Код Visual Studio версия 1.14.0 (с правами администратора) на Windows 10. Использовать Git Bash (с правами администратора).

2

Вместо того чтобы пытаться обойти эту проблему, почему бы не решить ее напрямую?

Скорее всего, у вас уже есть scp.exe на вашем компьютере, если у вас есть Git Bash установлен, поэтому все, что вам нужно сделать, это добавить в папку, где scp.exe находится в переменной PATH среды.

В моем случае scp.exe находился в C:\Program Files\Git\usr\bin

Это решается тот же вопрос для меня

+0

Спасибо, это держало меня в PowerShell. Я обожаю bash, просто не в Windows. –

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