O Docker no OS X (ou MacOS, como é chamado agora) é executado em uma máquina virtual Linux, geralmente usando o VirtualBox como o hipervisor. Portanto, quando você iniciar o docker usando docker-machine start
, levará algum tempo para que a máquina virtual e todos os serviços nela sejam iniciados e se tornem disponíveis. Então, para contornar isso, você poderia fazer algo como o seguinte:
[[ $(docker-machine status) == "Stopped" ]] && docker-machine start
sleep 10
eval $(docker-machine env)
Você pode querer ajustar o valor passado para sleep
se isso for muito ou não for suficiente, já que o tempo que a máquina virtual leva para ficar disponível depende do hardware do seu OS X host, bem como o hardware virtual alocado para o convidado do Docker.