php - Web 服务器无法在 Docker-Symfony 项目上启动
问题描述
我让自己习惯了 Docker-compose,我决定使用 Symfony 框架为 PHP/SQL/WEB 建立一个环境。我找到了这个网站来指导我如何去做。好吧,我有点做到了,但我遇到了一些小问题:
- 我不得不修改 docker-compose.yml 文件并将网络服务器端口设置在“”而不是“”中(据我研究)
- MySQL 服务器无法启动(请参阅下面的日志)
控制台日志:
The MYSQL_DATABASE variable is not set. Defaulting to a blank string.
The MYSQL_ROOT_PASSWORD variable is not set. Defaulting to a blank string.
The MYSQL_ROOT_HOST variable is not set. Defaulting to a blank string.
Starting project_db_1 ... done
Starting project_php_1 ... done
Starting project_web_1 ... done
Attaching to project_db_1, project_php_1, project_web_1
db_1 | [Entrypoint] MySQL Docker Image 8.0.15-1.1.10
db_1 | [Entrypoint] Starting MySQL 8.0.15-1.1.10
db_1 | 2019-02-12T16:56:34.408593Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 1
db_1 | 2019-02-12T16:56:35.798218Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
db_1 | 2019-02-12T16:56:35.811751Z 0 [ERROR] [MY-010270] [Server] Can't start server : Bind on unix socket: Operation not permitted
db_1 | 2019-02-12T16:56:35.811764Z 0 [ERROR] [MY-010258] [Server] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
db_1 | 2019-02-12T16:56:35.812340Z 0 [ERROR] [MY-010119] [Server] Aborting
db_1 | 2019-02-12T16:56:37.319368Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15) MySQL Community Server - GPL.
project_db_1 exited with code 1
docker-compose.yml:
version: '3'
services:
php:
build: build/php
expose:
- '9000'
depends_on:
- db
volumes:
- ./:/var/www/html/symfony:cached
- ./logs:/var/log
web:
build: build/nginx
restart: always
ports:
- "81:80"
depends_on:
- php
- db
volumes:
- ./:/var/www/html/symfony:cached
- ./logs:/var/log/nginx
db:
image: mysql/mysql-server:latest
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_ROOT_HOST=${MYSQL_ROOT_HOST}
ports:
- "3307:3306"
volumes:
- ./mysql:/var/lib/mysql
目录/文件树如下:
├───build
│ ├───nginx
│ │ └───sites-enabled
│ └───php
│ └───conf
├───logs
├───mysql
│ ├───#innodb_temp
│ ├───mysql
│ ├───performance_schema
│ └───sys
└───symfony
.conf 文件可以在以下位置找到:
解决方案
试试这个。 https://github.com/coloso/symfony-docker 几乎相同并且在这里工作得很好(您需要手动退出第一个命令“docker-compose up --build”但一切都很好)。mysql高于5.7也有很多docker问题。所以只需使用5.7。此致
推荐阅读
- c++ - std::vector 如何支持未知大小的自定义对象的连续内存
- .net - 使用 .Net 通过服务帐户访问 Google 表格会生成“调用者没有权限 [403]”错误
- java - 使用 gradle 构建暴露依赖项
- python - Discord Python代码中找不到命令错误
- .net-core - PowerBI 导出报表流格式
- angularjs - Angular UpgradeModule 和 ZoneAwarePromise
- aws-lambda - 特性分支合并到主分支后,如何删除使用无服务器框架部署的 lambda?
- java - 如何从终端执行代码 n 次?
- scala - 如何从地图中获取最接近的值?
- javascript - 无法列出“第三方/glog-0.3.4/test-driver”的内容。无法关注符号链接