Estou tentando usar o aplicativo para Android " Androcker " com meu Daemon do Docker. Para isso, eu tenho o daemon escutando na porta 2376 e o configurei para usar o TLS.
Eu posso sucesso conectar-me ao daemon da minha máquina local através da internet. Não há problemas de TLS. Para isso eu uso este comando:
docker --tlsverify --tlscacert ca-chain.pem --tlscert client.crt.pem --tlskey client.key.pem -H <daemon-ip>:2376 ps
O daemon é iniciado usando o seguinte comando:
dockerd --tlsverify --tlscacert ca-chain.pem --tlscert docker.crt.pem --tlskey docker.key.pem -H tcp://0.0.0.0:2376 -H unix:///var/r un/docker.sock
ca-chain.pem
é idêntico para o daemon e o cliente. É composto por dois certificados, o da minha CA raiz e o da minha CA intermediária. O certificado da CA intermediária é assinado pela CA raiz. Os outros dois certs (docker.crt.pem e client.crt.pem) são assinados pela CA intermediária.
No entanto, com o Androcker, não consigo me conectar ao daemon. Eu recebo
Could not connect to Host: Trust anchor for certification path not found.
No log daemon eu recebo:
http: TLS handshake error from ...: tls: client didn't provide a certificate
Eu também tentei desabilitar a verificação de certificado de host no Androcker e instalar os certificados de CAs raiz e intermediários no Android. Nenhum deles teve qualquer efeito.