Ich versuche erfolglos, über meinen Browser unter dieser URL auf den Hub von Mercure zuzugreifen: http://locahost:3000 => ERR_CONNECTION_REFUSED
Ich verwende Docker für meine Entwicklung. Hier ist meine docker-compose.yml:
# docker/docker-compose.yml
version: '3'
services:
database:
container_name: test_db
build:
context:./database
environment:
- MYSQL_DATABASE=${DATABASE_NAME}
- MYSQL_USER=${DATABASE_USER}
- MYSQL_PASSWORD=${DATABASE_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DATABASE_ROOT_PASSWORD}
ports:
- "3309:3306"
volumes:
-./database/init.sql:/docker-entrypoint-initdb.d/init.sql
-./database/data:/var/lib/mysql
php-fpm:
container_name: test_php
build:
context:./php-fpm
depends_on:
- database
environment:
- APP_ENV=${APP_ENV}
- APP_SECRET=${APP_SECRET}
- DATABASE_URL=mysql://${DATABASE_USER}:${DATABASE_PASSWORD}@database:3306/${DATABASE_NAME}?serverVersion=5.7
volumes:
-./src:/var/www
nginx:
container_name: test_nginx
build:
context:./nginx
volumes:
-./src:/var/www
-./nginx/nginx.conf:/etc/nginx/nginx.conf
-./nginx/sites/:/etc/nginx/sites-available
-./nginx/conf.d/:/etc/nginx/conf.d
-./logs:/var/log
depends_on:
- php-fpm
ports:
- "8095:80"
caddy:
container_name: test_mercure
image: dunglas/mercure
restart: unless-stopped
environment:
MERCURE_PUBLISHER_JWT_KEY: '!ChangeMe!'
MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeMe!'
PUBLISH_URL: '${MERCURE_PUBLISH_URL}'
JWT_KEY: '${MERCURE_JWT_KEY}'
ALLOW_ANONYMOUS: '${MERCURE_ALLOW_ANONYMOUS}'
CORS_ALLOWED_ORIGINS: '${MERCURE_CORS_ALLOWED_ORIGINS}'
PUBLISH_ALLOWED_ORIGINS: '${MERCURE_PUBLISH_ALLOWED_ORIGINS}'
ports:
- "3000:80"
Ich habe erfolgreich ausgeführt:
docker-compose up -d
docker ps -a:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e4a72fe75b2 dunglas/mercure "caddy run --config …" 2 hours ago Up 2 hours 443/tcp, 2019/tcp, 0.0.0.0:3000->80/tcp,:::3000->80/tcp test_mercure
724fe920ebef nginx "/docker-entrypoint.…" 3 hours ago Up 3 hours 0.0.0.0:8095->80/tcp,:::8095->80/tcp test_nginx
9e63fddf50ef php-fpm "docker-php-entrypoi…" 3 hours ago Up 3 hours 9000/tcp test_php
e7989b26084e database "docker-entrypoint.s…" 3 hours ago Up 3 hours 0.0.0.0:3309->3306/tcp,:::3309->3306/tcp test_db
Ich kann http://localhost:8095 erreichen, um auf meine Symfony-App zuzugreifen, aber ich weiß nicht, unter welcher URL ich den Hub meines Mercure erreichen soll.
Danke für Ihre Hilfe!
Lösung des Problems
Ich habe monatelang versucht, symfony + nginx + mysql + phpmyadmin + mercure + docker dazu zu bringen, sowohl lokal für die Entwicklung als auch (offensichtlich) in der Produktion zu arbeiten. Umsonst. Und obwohl dies Ihre Frage nicht direkt beantwortet. Ich kann nur mit einer "Antwort" beitragen, da ich nicht genug Ruf habe, um nur zu kommentieren, sonst hätte ich das getan.
Wenn Sie aus irgendeinem Grund außer einem Webserver nicht an nginx gebunden sind und ihn durch caddy ersetzen können, habe ich ein Repo, das symfony + caddy + mysql + phpmyadmin + mercure + docker ist, das sowohl lokal als auch mit SSL funktioniert in Produktion.
https://github.com/thund3rb1rd78/symfony-mercure-website-skeleton-dockerized
Keine Kommentare:
Kommentar veröffentlichen