Контейнеры докеров Sitecore 10 не могут взаимодействовать друг с другом
Я пытался запустить установку Sitecore 10 из docker-compose в репозитории docker-examples .
Сотрозе был неудача после формования первых 5 контейнеров: solr
, mssql
, id
, xconnect
, cm
.
После некоторого расследования я обнаружил, что контейнеры не могут взаимодействовать друг с другом. Так, например, контейнер cm не может пинговать контейнер mssql.
docker exec sitecore-xp0_cm_1 ping mssql
Ответы
Похоже, это может быть связано с политиками безопасности в нашей компании, поскольку я смог воспроизвести такое же поведение на других машинах в компании. И он работает нормально на машинах, не принадлежащих компании.
Решение, которое сработало для меня, заключалось в добавлении имен хостов в каждый контейнер. например:
mssql:
hostname: mssql
isolation: ${ISOLATION}
...
solr:
hostname: solr
isolation: ${ISOLATION}
...
cm:
hostname: cm
isolation: ${ISOLATION}
Полные изменения можно найти здесь .
Обратите внимание, что добавление имени хоста таким образом сделает контейнеры доступными с хост-машины, поэтому это может вызвать конфликты, если вы попытаетесь развернуть несколько репозиториев с одинаковыми идентификаторами контейнеров.
@vzaverugo Наша внутренняя команда нашла альтернативное решение, установив для IP-адреса записей хоста докеров нечто реальное, например 1.1.1.1 или 8.8.8.8 вместо 127.0.0.1, и полностью остановив IIS. Кажется, это нормально работает на ноутбуках нашей компании, настроенных с некоторыми политиками.