Я Докер неофит, поэтому я не слишком уверен в своем ответе, но у меня была та же проблема, которую вы описали, и вот как я ее решил...
во-первых, я предположим что у вас работает докер-машина, например:
C:\Program Files\Docker Toolbox>docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
docker - hyperv Running tcp://192.168.0.22:2376 v1.9.1
мне потребовалось некоторое время, чтобы получить это далеко, так как я использую Hyper-V в настройки машины. Как только вы здесь, вы можете использовать docker-machine
получить вашу конфигурацию настройки:
C:\Program Files\Docker Toolbox>docker-machine config docker
--tlsverify
--tlscacert="C:\Users\Ken\.docker\machine\certs\ca.pem"
--tlscert="C:\Users\Ken\.docker\machine\certs\cert.pem"
--tlskey="C:\Users\Ken\.docker\machine\certs\key.pem"
-H=tcp://192.168.0.22:2376
для сохранения этих параметров (чтобы не передавать их при каждом вызове docker.exe
), вы можете создать следующие переменные окружения (нажмите кнопку здесь подробнее о доступных переменных):
set DOCKER_HOST=tcp://192.168.0.22:2376
set DOCKER_TLS_VERIFY=true
set DOCKER_CERT_PATH=C:\Users\Ken\.docker\machine\certs
я еще не написал сценарий всего этого, но я думаю, что создам альтернативу start.sh это поставляется с Docker Toolbox, так как этот IP-адрес, вероятно, изменится при каждом запуске виртуальной машины Докер. Примечание:docker-machine
Вы тоже здесь! После запуска docker можно использовать docker-machine env <machine>
команда для автоматической установки этих переменных окружения!
Итак, я создал следующий сценарий bash, чтобы заменить start.sh сценарий:
docker-machine start docker
eval "$(docker-machine.exe env docker)"
очевидно, вам придется поменять мою специфику на вашу, но я надеюсь, что это полезно. Я знаю, что у меня было ужасное время найти документацию о получении этот материал для запуска на Windows 10.