Как запустить команду, чтобы заставить docker-machine создать виртуальный компьютер с определенным адресом в Windows 10 Home? - PullRequest
3 голосов
/ 14 марта 2019

Я следил за этим вопросом, чтобы заставить docker-machine создать виртуальный компьютер с конкретным адресом Есть ли способ заставить docker-machine создать виртуальный компьютер с конкретным IP-адресом? , потому что мне нужен докер-машина для работы на 192.168.99.100.Кажется, это работает для всех, но не для меня, и я думаю, что это может быть полезно для решения этой проблемы для Windows Home

Я использую:

Windows 10 Home build
Virtual Box Versión 5.2.8 r121009 (Qt5.6.2)
$ docker version
Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24302
 Built: Fri Mar 23 08:31:36 2018
 OS/Arch:       windows/amd64
 Experimental:  false
 Orchestrator:  swarm
error during connect: Get https://192.168.99.101:2376/v1.37/version: dial tcp 192.168.99.101:2376: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
usuario@DESKTOP-GTCQCAR MINGW64 /c/Program Files/Docker Toolbox
$ echo "ifconfig eth0 192.168.99.100 netmask 255.255.255.0 broadcast 192.168.99.255 up" | docker-machine ssh default su
do tee /var/lib/boot2docker/bootsync.sh > /dev/null
tee: C:/Program: No such file or directory
tee: Files/Git/var/lib/boot2docker/bootsync.sh: No such file or directory
exit status 1

Вторая частькоманда не работает:

докер-машина ssh по умолчанию sudo tee /var/lib/boot2docker/bootsync.sh> / dev / null

Скрипт также не работает: C:\ Program Files \ Docker Toolbox> dmvbf по умолчанию 99 100

@echo off
setlocal enabledelayedexpansion
set machine=%1
if "%machine%" == "" (
    echo dmvbf expects a machine name
    exit /b 1
)
set ipx=%2
if "%ipx%" == "" (
    echo dmvbf x missing ^(for 192.168.x.y^)
    exit /b 2
)
set ipy=%3
if "%ipy%" == "" (
    echo dmvbf y missing ^(for 192.168.x.y^)
    exit /b 3
)

echo kill $(more /var/run/udhcpc.eth0.pid) | docker-machine ssh %machine% sudo tee /var/lib/boot2docker/bootsync.sh >NUL
echo ifconfig eth0 192.168.%ipx%.%ipy% netmask 255.255.255.0 broadcast 192.168.%ipx%.255 up | docker-machine ssh %machine% sudo tee -a /var/lib/boot2docker/bootsync.sh >NUL
echo route add default gw <gateway ip address here> | docker-machine ssh %machine% sudo tee /bar/lib/boot2docker/bootsync.sh >NUL

docker-machine ssh %machine% "sudo cat /var/run/udhcpc.eth0.pid | xargs sudo kill"

docker-machine ssh %machine% "sudo ifconfig eth0 192.168.%ipx%.%ipy% netmask 255.255.255.0 broadcast 192.168.%ipx%.255 up"

, сказав, что

C:\Program Files\Docker Toolbox>dmvbf default 99 100
Error: Cannot run SSH command: Host "default" is not running
Error: Cannot run SSH command: Host "default" is not running
Not expected | at this momment.

Спасибо

1 Ответ

0 голосов
/ 20 июня 2019

Ошибка, с которой вы сталкиваетесь, не требует пояснений: «машина по умолчанию», по-видимому, не существует или не работает.

Прежде всего, убедитесь, что машина существует, набрав следующее с повышенными правамиpowershell:

 docker-machine ls

Если вы видите компьютер, убедитесь, что он работает, набрав следующее:

docker-machine start MyMachineName

В противном случае создайте новый:

docker-machine create MyMachineName

Еще одна причина, по которой он может потерпеть неудачу, заключается в неправильной установке виртуального коммутатора при создании док-машины.

Надеюсь, это поможет

...