Используя Docker Compose и Traefik, я пытаюсь заставить контейнер приложения взаимодействовать с контейнером solr и наоборот в локальной среде.
В настоящее время я могу получить доступ как к приложению, так и к URL-адресу solr вбраузер просто отлично, но они не могут «видеть» или разговаривать друг с другом внутри.
Я новичок в Docker.Вот раздел моего файла составления докера с соответствующими контейнерами:
php:
image: wodby/drupal-php:$PHP_TAG
container_name: "${PROJECT_NAME}_php"
environment:
PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025
DB_HOST: $DB_HOST
DB_USER: $DB_USER
DB_PASSWORD: $DB_PASSWORD
DB_NAME: $DB_NAME
DB_DRIVER: $DB_DRIVER
PHP_FPM_USER: wodby
PHP_FPM_GROUP: wodby
COLUMNS: 80
volumes:
- ./:/var/www/html:cached
solr:
image: wodby/solr:$SOLR_TAG
container_name: "${PROJECT_NAME}_solr"
environment:
SOLR_DEFAULT_CONFIG_SET: $SOLR_CONFIG_SET
SOLR_HEAP: 1024m
labels:
- 'traefik.backend=${PROJECT_NAME}_solr'
- 'traefik.port=8983'
- 'traefik.frontend.rule=Host:solr.${PROJECT_BASE_URL}'
traefik:
image: traefik
container_name: "${PROJECT_NAME}_traefik"
command: -c /dev/null --web --docker --logLevel=INFO
ports:
- '80:80'
- '8983:8983'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
Я могу получить доступ к Solr по указанному URL, но приложение не может видеть его по тому же URL.Мне нужно быть в состоянии сделать это, чтобы он мог общаться с Solr и сканировать его и т. Д.
Есть ли способ выставить их так, чтобы они могли видеть друг друга по имени хоста?