A autenticação falha ao conectar-se à instância do MongoDB com o Dockerized

1

Eu tenho tido bastante tempo me conectando a uma instância Dockerized do MongoDB. Consegui configurar um contêiner do MongoDB por estas instruções na minha máquina de desenvolvimento local, mas as mesmas etapas não parecem para trabalhar na produção.

Minhas etapas exatas para criar, executar e se conectar ao contêiner:

  1. Crie e execute o contêiner

    docker run --name prod-mongo -p 27017:27017 -d mongo --auth

  2. Adicionado o usuário inicial:

    docker exec -it prod-mongo mongo admin

    db.createUser({user:'skipper', pwd:'skipperspassword', roles:[{role:'userAdminAnyDatabase',db:'admin'}] });

  3. Conectado com sucesso ao contêiner do Docker a partir de outro contêiner do Mongo:

    docker run -it --rm --link prod-mongo:mongo mongo mongo -u skipper -p --authenticationDatabase admin prod-mongo/skippers-apps

  4. Sem êxito conectado ao contêiner do Docker a partir do host do Docker: mongo skippers-apps --authenticationDatabase admin -u skipper -p

É esse último passo que me preocupa. Funciona no meu ambiente de desenvolvimento local, mas não na produção.

Ambiente de desenvolvimento

  • Sistema operacional: Mac OS El Capitan
  • Versão do Kernel 15.6.0
  • Versão do shell do MongoDB: 3.2.7
  • Versão do Docker: 1.12.3

Ambiente de produção

  • Sistema operacional: Ubuntu 16.04.1 LTS
  • Versão do kernel: 4.4.0
  • Versão do shell do MongoDB: 2.6.10
  • Versão do Docker: 1.12.3
por Moebius 12.12.2016 / 02:58

1 resposta

0

Embora eu não saiba por que a versão do MongoDB que eu estava usando anteriormente (2.6.10) não estava funcionando bem com o Docker, eu consegui resolver o problema atualizando a versão do cliente MongoDB.

Eu ficaria curioso em saber o motivo exato pelo qual um cliente 2.6.10 não pôde se conectar ao servidor MongoDB na imagem padrão do Docker MongoDB.

Solução : atualizou o cliente MongoDB de 2.6.10 para 3.2.11

    
por 17.12.2016 / 05:28