php - Docker-Symfony 项目上的 Web 服务器无法启动

标签 php mysql symfony nginx docker-compose

我正在习惯 Docker-compose,并决定使用 Symfony-framework 为 PHP/SQL/WEB 设置环境。我找到了这个web-site指导我如何去做。嗯,我做了一些,但我遇到了一些问题:

  • 我必须修改 docker-compose.yml 文件并将 Web 服务器端口设置为“”而不是“”(据我研究)
  • 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吧。最好的问候

关于php - Docker-Symfony 项目上的 Web 服务器无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54655235/

相关文章:

Symfony2 : How to make username of FOSUserBundle user unique

php - 使用 PDO 加载 CSV 文件会导致语法错误

symfony2.8 的 php_apcu.dll 扩展推荐 xampp 上的 php 加速器

mysql - Mongodb 一个或两个集合?

C# 不喜欢 SQL JOINS

PHP/Symfony - 为什么使用 Twig 呈现的 Controller 异常不会仅在生产模式下捕获?

PHP 正则表达式 "Unknown modifier p"

php - 为什么 ""="利用这个 MySQL 查询?

mysql - 统计表中最常用的词,过滤掉停用词

php - 如何使用 symfony Ratchet 向特定的 websocket 客户端发送消息?