Docker 我试图在入门教程中使用我的个人MySQL数据库,但我无法做到这一点

Docker 我试图在入门教程中使用我的个人MySQL数据库,但我无法做到这一点,docker,api-platform.com,Docker,Api Platform.com,首先,在寻找可能的解决方案时,我修改了该差异文件中所述的项目文件: diff --git a/api/.env b/api/.env index 93e0327..3aba6a4 100644 --- a/api/.env +++ b/api/.env @@ -13,7 +13,7 @@ TRUSTED_HOSTS=localhost,api # Format described at http://docs.doctrine-project.org/projects/doctrine-dba

首先,在寻找可能的解决方案时,我修改了该差异文件中所述的项目文件:

diff --git a/api/.env b/api/.env
index 93e0327..3aba6a4 100644
--- a/api/.env
+++ b/api/.env
@@ -13,7 +13,7 @@ TRUSTED_HOSTS=localhost,api
 # Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
 # For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db"
 # Configure your db driver and server_version in config/packages/doctrine.yaml
-DATABASE_URL=postgres://api-platform:!ChangeMe!@db/api
+DATABASE_URL=mysql://api-platform:!ChangeMe!@db:3306/api
 ###< doctrine/doctrine-bundle ###
 
 ###> nelmio/cors-bundle ###
diff --git a/api/Dockerfile b/api/Dockerfile
index 588cdaf..14024aa 100644
--- a/api/Dockerfile
+++ b/api/Dockerfile
@@ -29,7 +29,7 @@ RUN set -eux; \
    docker-php-ext-configure zip --with-libzip; \
    docker-php-ext-install -j$(nproc) \
        intl \
-       pdo_pgsql \
+       pdo_mysql \
        zip \
    ; \
    pecl install \
diff --git a/api/config/packages/doctrine.yaml b/api/config/packages/doctrine.yaml
index b4d82af..12c6352 100644
--- a/api/config/packages/doctrine.yaml
+++ b/api/config/packages/doctrine.yaml
@@ -8,11 +8,15 @@ parameters:
 doctrine:
     dbal:
         # configure these for your database server
-        driver: 'pdo_pgsql'
-        server_version: '9.6'
-
-        # With Symfony 3.3, remove the `resolve:` prefix
+        driver: 'pdo_mysql'
         url: '%env(resolve:DATABASE_URL)%'
+        server_version: '5.7'
+        charset: utf8mb4
+        default_table_options:
+            charset: utf8mb4
+            collate: utf8mb4_unicode_ci
+        options:
+            1002: 'SET sql_mode=(SELECT REPLACE(@@sql_mode,''ONLY_FULL_GROUP_BY'',''''))'
     orm:
         auto_generate_proxy_classes: '%kernel.debug%'
         naming_strategy: doctrine.orm.naming_strategy.underscore
diff --git a/api/docker/php/docker-entrypoint.sh b/api/docker/php/docker-entrypoint.sh
index d737930..463a375 100755
--- a/api/docker/php/docker-entrypoint.sh
+++ b/api/docker/php/docker-entrypoint.sh
@@ -13,10 +13,6 @@ if [ "$1" = 'php-fpm' ] || [ "$1" = 'bin/console' ]; then
 
    if [ "$APP_ENV" != 'prod' ]; then
        composer install --prefer-dist --no-progress --no-suggest --no-interaction
-       >&2 echo "Waiting for Postgres to be ready..."
-       until pg_isready --timeout=0 --dbname="${DATABASE_URL}"; do
-           sleep 1
-       done
        bin/console doctrine:schema:update --force --no-interaction
    fi
 fi
diff --git a/docker-compose.yml b/docker-compose.yml
index f88f9a6..d32e028 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,6 +1,17 @@
 version: '3.4'
 
 services:
+  db:
+    image: mysql:5.7
+    volumes:
+      - "./.data/db:/var/lib/mysql"
+    environment:
+      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
+      MYSQL_DATABASE: ${MYSQL_DATABASE}
+      MYSQL_USER: ${MYSQL_USER}
+      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
+    ports:
+      - 3306:3306
   php:
     image: ${CONTAINER_REGISTRY_BASE}/php
     build:
@@ -55,21 +66,6 @@ services:
     ports:
       - "8081:80"
 
-  db:
-    # In production, you may want to use a managed database service
-    image: postgres:9.6-alpine
-    environment:
-      - POSTGRES_DB=api
-      - POSTGRES_USER=api-platform
-      # You should definitely change the password in production
-      - POSTGRES_PASSWORD=!ChangeMe!
-    volumes:
-      - db-data:/var/lib/postgresql/data:rw
-      # You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!
-      # - ./docker/db/data:/var/lib/postgresql/data:rw
-    ports:
-      - "5432:5432"
-
   client:
     # Use a static website hosting service in production
     # See https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#deployment
但是我得到了这个错误,我不知道如何修复它:

我一直遵循教程,直到它开始解释如何添加GraphSQL支持。 有人能帮我吗

$ sudo docker-compose pull
$ sudo docker-compose up -d
$ sudo docker-compose exec php bin/console doctrine:schema:update --force