Connettersi da un container docker al database della macchina host
A volte è comodo collegarsi da un container docker, al database delal machina host.
Per prima cosa dobbiamo vedere come l’ip della macchina host risolve dentro il container. Ci sono 2 modi.
Da dentro al container
apt update && apt install net-tools netcat export MYSQL_HOST=$(route | awk '/default/ { print $2 }') Usabile da php: $mysql_host = exec("route | awk '/default/ { print $2 }'", $output, $exit_code);
In questo modo vedrete l’ip da chiamare dal container per raggiungere la macchina host
Da fuori il container
docker inspect project_php_1 | grep Gateway
Anche in questo modo avremo l’ip da chiamare dal container per raggiungere la macchina host
A questo punto nel container useremo l’ip trovato, ma bisogna essere certi che MySql sia raggiungibile dal container.
Nell impostazioni del server mysql accertarci che la riga bind-address sia così configurata:
bind-address = 0.0.0.0