Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Montagem do volume para o container em maquinas distintas

Olá boa noite!

Apenas uma duvida se tivessemos o Jenkins separado do nosso dockerhost.

No curso na hora da criação do container de teste com o comando :

docker run -d -p 82:8000 -v /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock** -v /var/lib/jenkins/workspace/jenkins-todo-list-principal/.env:/usr/src/app/to_do/.env** --name=todo-list-teste django_todolist_image_build

é funcional pois o diretório /var/lib/jenkins/workspace está na mesma maquina que é o nosso dockerhost(127.0.0.1) e se o docker host estivesse em uma segunda VM de outro IP ? Como o Jenkins conseguiria executar um comando de mapeamento de volumes do docker desta maneira ?

1 resposta
solução!

Oi Cae, tudo bem?

Desculpe a demora em retornar.

No caso de o Jenkins e o Dockerhost estarem em máquinas distintas, você precisará fazer algumas alterações no comando de criação do container de teste. Em vez de usar o endereço IP local (127.0.0.1) para mapear os volumes, você precisará usar o endereço IP da máquina onde o Dockerhost está sendo executado.

Por exemplo, se o Dockerhost estiver em uma segunda VM com o endereço IP 192.168.0.2, o comando de criação do container de teste seria algo como:

docker run -d -p 82:8000 -v /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock -v /var/lib/jenkins/workspace/jenkins-todo-list-principal/.env:/usr/src/app/to_do/.env --name=todo-list-teste django_todolist_image_build

Nesse caso, o Jenkins conseguirá executar o comando de mapeamento de volumes do Docker corretamente, pois estará usando o endereço IP correto do Dockerhost.

Espero ter ajudado.

Um abraço e bons estudos.