2014-11-11 2 views
0

Я пытаюсь создать Docker хозяина в лазури, поэтому я побежал следующую команду (с помощью azure-cli версии 0.8.11 и узла версии 0.10.33):Azure VM докер создать не может найти сертификат «ca.pem»

$ azure vm docker create -v [.. + loads of options..] 
info: Executing command vm docker create 
verbose: C:\Users\JAM\.docker\ca-key.pem file was not found 
verbose: C:\Users\JAM\.docker\ca.pem file was not found 
verbose: C:\Users\JAM\.docker\server-key.pem file was not found 
verbose: C:\Users\JAM\.docker\server-cert.pem file was not found 
verbose: C:\Users\JAM\.docker\key.pem file was not found 
verbose: C:\Users\JAM\.docker\cert.pem file was not found 
verbose: Generating docker certificates. 
verbose: Loading 'screen' into random state - done 
Generating RSA private key, 512 bit long modulus 
.......++++++++++++ 
............++++++++++++ 
e is 65537 (0x10001) 

verbose: Unable to load config info from /usr/local/ssl/openssl.cnf 

verbose: Loading 'screen' into random state - done 
Generating RSA private key, 512 bit long modulus 
.++++++++++++ 
..++++++++++++ 
e is 65537 (0x10001) 

verbose: Unable to load config info from /usr/local/ssl/openssl.cnf 

verbose: Loading 'screen' into random state -C:\Users\JAM\.docker\server.csr: No such file or directory 
done 

verbose: Loading 'screen' into random state - done 
Generating RSA private key, 512 bit long modulus 
.........................++++++++++++ 
..++++++++++++ 
e is 65537 (0x10001) 

verbose: Unable to load config info from /usr/local/ssl/openssl.cnf 

verbose: Loading 'screen' into random state -C:\Users\JAM\.docker\client.csr: No such file or directory 
done 

verbose: writing RSA key 

verbose: writing RSA key 

error: ENOENT, no such file or directory 'C:\Users\JAM\.docker\ca.pem' 
verbose: stack Error: ENOENT, no such file or directory 'C:\Users\JAM\.docker\ca.pem' 
    at Object.fs.chmodSync (fs.js:832:18) 
    at C:\nvm\v0.10.33\node_modules\azure-cli\lib\commands\asm\vm\vmclient.js:3104:30 
    at ChildProcess.<anonymous> (C:\nvm\v0.10.33\node_modules\azure-cli\node_modules\openssl-wrapper\lib\openssl-wrapper.js:86:16) 
    at ChildProcess.emit (events.js:98:17) 
    at maybeClose (child_process.js:756:16) 
    at Process.ChildProcess._handle.onexit (child_process.js:823:5) 
info: Error information has been recorded to azure.err 

лазурное-кли не может загрузить OpenSSL конфигурации, потому что путь /usr/local не существует:

verbose: Unable to load config info from /usr/local/ssl/openssl.cnf 

Однако путь /usr/ssl/.. и /usr/ssl/openssl.cnf существует. Поэтому я попытался просто скопировать /usr/ssl/* в /usr/local/ssl/*, но та же ошибка продолжает появляться.

Любые идеи о том, как исправить это?

ответ

1

Это было открыто какое-то время, но суть в том, что поддержка Windows довольно наполовину испечена. Лучше всего загрузить OpenSSL, а затем сгенерировать необходимые файлы ключей, используя следующие команды (скопируйте полученные файлы в папку .docker в вашей ошибке).

echo 01 > ca.srl 

openssl genrsa -des3 -out ca-key.pem 
openssl req -new -x509 -days 3650 -key ca-key.pem -out ca.pem 
openssl genrsa -des3 -out server-key.pem 
openssl req -new -key server-key.pem -out server.csr 
openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -out server-cert.pem 

echo "Creating client keys..." 
openssl genrsa -des3 -out client-key.pem 
openssl req -new -key client-key.pem -out client.csr 
echo extendedKeyUsage = clientAuth > extfile.cnf 
openssl x509 -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -out client-cert.pem -extfile extfile.cnf 

echo "Stripping passwords from keys..." 
openssl rsa -in server-key.pem -out server-key.pem 
openssl rsa -in client-key.pem -out key.pem 

Это был первоначально снят с: http://blog.jameskyle.org/2014/04/coreos-docker-remote-api-tls/, которая направлена ​​прежде всего на UNIX, но команды фактически то же самое на Windows.

После того, как вы скопировали эти файлы в нужное место, вы можете выполнить свою установку (в настоящее время я пытаюсь устранить следующий шаг :)).

+0

Awesome, спасибо! Попробуй, когда я получу шанс :) – JAM