Без дополнительных знаний о вашей логике кода я не уверен, смогу ли я полностью заставить ее работать только этим ответом.Но я думаю, что могу дать абстрактный контрольный список.
Из-за вашей конфигурации docker-compose порт 5001, 5000 уже открыт для localhost.Если эти порты уже настроены для открытия во внешней сети, вы уже можете набрать yourdomain.com:5000 для доступа к нему.
Если вы просто хотите получить доступ, набрав yourdomain.com
(без порта).Я предполагаю, что ваша website
служба будет обслуживать его:
- Откройте порт
80
и подключите его к порту 80
службы website
:
website:
image: php:apache
volumes:
- ./website:/var/www/html
ports:
- 80:80
depends_on:
- product-service
- Убедитесь, что любой вызов AJAX для
product-service
API будет вызываться на yourdomain.com:5001
:
Изнутри службы website
он может вызывать product-serivce
API с помощьюlocalhost:5001
.Но из пользовательского браузера любой AJAX-вызов будет считаться внешним вызовом, поэтому любой AJAX-вызов этой службы должен быть настроен как yourdomain.com:5001
.