I container docker di Sitecore 10 non possono comunicare tra loro
Ho provato ad avviare l'installazione di Sitecore 10 da docker-compose in docker-examples repository .
Compose non funzionava dopo aver fatto girare i primi 5 contenitori: solr
, mssql
, id
, xconnect
, cm
.
Dopo alcune indagini, ho scoperto che i container non possono comunicare tra loro. Quindi, ad esempio, il contenitore cm non può eseguire il ping del contenitore mssql.
docker exec sitecore-xp0_cm_1 ping mssql
Risposte
Sembra che potrebbe essere correlato alle politiche di sicurezza all'interno della nostra azienda poiché sono stato in grado di riprodurre lo stesso comportamento su altre macchine all'interno dell'azienda. E funziona bene su macchine non aziendali.
La soluzione che ha funzionato per me è stata quella di aggiungere nomi host a ogni contenitore. per esempio:
mssql:
hostname: mssql
isolation: ${ISOLATION}
...
solr:
hostname: solr
isolation: ${ISOLATION}
...
cm:
hostname: cm
isolation: ${ISOLATION}
Le modifiche complete possono essere trovate qui .
Si noti che l'aggiunta del nome host in questo modo renderà i contenitori accessibili dal computer host, quindi ciò potrebbe causare conflitti se si tenta di avviare più repository con gli stessi ID contenitore.
@vzaverugo Il nostro team interno ha trovato una soluzione alternativa impostando l'indirizzo IP delle voci dell'host docker su qualcosa di reale come 1.1.1.1 o 8.8.8.8 invece di 127.0.0.1 e arrestando completamente IIS. Questo sembra funzionare bene all'interno dei nostri laptop aziendali configurati con alcune politiche.