我正在尝试使用docker容器在heroku中部署PHP Lumen Webapp。
我正在使用docker-compose在本地部署我的应用程序,使用它没有问题。我可以在localhost中对其进行测试而没有任何问题。
这是我的docker-compose文件:
nginx:
build: images/nginx
command: nginx -g "daemon off;"
links:
- php
ports:
- "80:80"
php:
build: images/php
volumes:
- ./images/php:/var/www/html
working_dir: /var/www/html/app/public
command: php-fpm
links:
- db
- cache
ports:
- "9000:9000"
environment:
APP_ENV: local
APP_DEBUG: 'true'
APP_KEY: SomeRandomKey!!!
APP_LOCALE: en
APP_FALLBACK_LOCALE: en
DB_CONNECTION: mysql
DB_HOST: db
DB_DATABASE: lumen
DB_USERNAME: lumen
DB_PASSWORD: secret
MEMCACHED_HOST: cache
CACHE_DRIVER: memcached
CACHE_DRIVER: array
SESSION_DRIVER: array
QUEUE_DRIVER: array
SESSION_DRIVER: cookie
db:
image: mysql
command: mysqld --default-authentication-plugin=mysql_native_password
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: lumen
MYSQL_USER: lumen
MYSQL_PASSWORD: secret
cache:
image: memcached
我尝试按照其文档在heroku上进行部署,
On root folder:
heroku create
heroku container:push web
heroku container:release web
关于部署的一切似乎都可以,但是当我尝试进入应用程序时,出现错误屏幕,提示“应用程序错误”。
查看日志后,我唯一能看到的是此消息:
2019-04-15T21:54:41.459127+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=***.herokuapp.com request_id=**** fwd="***" dyno= connect= service= status=503 bytes= protocol=https
2019-04-15T21:54:42.185673+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=***.herokuapp.com request_id=**** fwd="***" dyno= connect= service= status=503 bytes= protocol
经过研究后,我认为这可能与缺乏数据库或类似的东西有关,但是调试“ 503”消息毫无意义,所以我不知道如何继续解决。
有人知道如何解决这个问题吗?
任何帮助将不胜感激。非常感谢。