O daemon do Docker fornece um API REST remota. Essa API é usada pelo cliente para se comunicar com o mecanismo. Essa API também pode ser invocada por outras ferramentas, como enrolar ou Cliente REST do Postman para Chrome.

Se você estiver criando daemons do Docker usando o Docker Machine no OSX Mavericks, fazer com que essa API funcione é um pouco complicado. Este blog explicará como ativar a API do Docker Remote em Docker Machines criadas no Mac OS X.

Conexão com a porta segura do Docker usando curl fornece o comando como:

Há alguns problemas com esse comando:

  • Esse comando não funciona nem mesmo para o Docker Machine, pois os certificados de cada máquina são armazenados em .docker/machine/machines/ diretório.
  • Mesmo que esse comando seja modificado para corresponder a esse caminho:

    Ele ainda apresenta o seguinte erro:

    O culpado por isso é um Utilitário curl atualizado para usuários do OSX Mavericks. Em resumo, a nova versão do CURL usa a API Secure Transport da Apple em vez da API OpenSSL. Isso significa que os certificados precisam estar no formato P12.

Vamos consertar isso!

  • Vá para o diretório em que os certificados de sua máquina estão armazenados. No meu caso, é .docker/machine/machines/couchbase diretório.
  • Gerar *.p12 formato para o certificado:
  • Agora, invoque a API REST como:

    Aviso, --cert agora aponta para o certificado p12 gerado e a senha do certificado é especificada no texto --passar.

    Isso retornará o resultado como:

    OK, agora isso faz sentido!

  • Vamos tentar começar Servidor Couchbase como:

    E invoque outra API REST para ver mais detalhes sobre esse contêiner:

Leia o API completa e enlouqueça agora!

Publicado originalmente em: Ativação da API remota do Docker na máquina do Docker no Mac OS X

Autor

Postado por Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase

Arun Gupta é o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experiência na liderança de equipes multifuncionais para desenvolver e executar estratégias, planejamento e execução de conteúdo, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e é membro fundador da equipe Java EE. Gupta é autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experiência em palestras em mais de 40 países sobre diversos tópicos e é um JavaOne Rock Star há três anos consecutivos. Gupta também fundou o capítulo Devoxx4Kids nos EUA e continua a promover a educação tecnológica entre as crianças. Autor de vários livros sobre tecnologia, corredor ávido, viajante do mundo inteiro, campeão de Java, líder de JUG, membro do NetBeans Dream Team e capitão do Docker, ele pode ser facilmente acessado em @arungupta.

Deixar uma resposta