Estou usando uma biblioteca de terceiros que cria contêineres de docker por irmãos via:
docker run -d /var/run/docker.sock:/var/run/docker.sock ...
Estou tentando criar uma implantação do Kubernetes a partir do contêiner acima, mas atualmente estou obtendo:
Não é possível conectar-se ao daemon do Docker no unix: ///var/run/docker.sock. O daemon do docker está em execução?
Isso é esperado porque não estou declarando /var/run/docker.sock
como um volume no yaml de implantação.
O problema é que não sei como fazer isso. É possível montar /var/run/docker.sock
como um volume em um yaml de implantação?
Caso contrário, qual é a melhor abordagem para executar contêineres irmãos do docker de dentro de um pod / implantação do Kubernetes?
Embora essa seja uma solução funcional (eu mesmo a uso), existem algumas desvantagens em executar o Docker em um pod do Kubernetes montando
/var/run/docker.sock
Principalmente o fato de você estar trabalhando com contêineres do Docker fora do controle do Kubernetes.
Outra solução sugerida que encontrei é usar um contêiner de carro lateral em seu casulo. Consulte Um caso para o Docker-in-Docker no Kubernetes . Existem duas partes em que a solução proposta está na parte 2 .
Eu espero que isso ajude.
fonte