Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dind e MySQL client

Olá, tendo o contexto das aulas e o que foi ensinado sobre o Dind, tive a seguinte dúvida: Vamos chamar o container que o runner cria de 'container A' e o container dentro do container A de 'container B'. Caso o container b tenha o mysql-client e o runner do gitlab tenha permissão de acesso a um banco de dados remoto, eu precisaria fazer alguma configuração adicional no container b ou só pelo fato de utilizar o dind ele também deveria ter permissão de acesso ao DB server?

3 respostas

Olá Roger, tudo bem? Não entendi muito bem sua dúvida, poderia explicar melhor?! Porque se você for utilizar um banco de dados remoto, como por exemplo um banco de dados MySQL da Amazon Web Services (AWS) como é o caso do RDS (Relational Database Service), precisariamos apenas das credencias e claro também o mysql-client nesse container que vai realizar o acesso.

Oi Jonilson, considere o gitlab.yml do curso. No caso do docker in docker, eu teria um container dentro de outro, certo? Este container que está dentro teria o mysql-client. O servidor onde o gitlab runner está tem as credenciais para acessar o banco de dados. Porém, como o mysql-client está no container de dentro, ele também não teria que ter permissão de acesso? Se sim, como deveria fazer isto?

solução!

Roger, entendi agora sua dúvida, porém tendo o mysql-client instalado dentro do container, e supondo que você vai fazer a acesso a um banco de dados externo como por exemplo o RDS (Relational Database Service) da Amazon, você pode simplesmente realizar o login e processeguir desde que o container interno possa realizar acesso a internet. Como está na própria documentação da Amazon e também na documentação do MySQL. Quanto ao acesso, eu particularmente nunca fiz um teste nesse sentido, de um container executando no gitlab runner na minha máquina local, conectar em um banco de dados remoto, porém acho que se todas as portas estiverem liberadas, não vai ter problema.