API平台-切换到mySQL

问题描述 投票:0回答:1

我正在尝试API平台。我安装了最新版本,并在Windows 10的Docker中运行它。默认数据库是postgres,并且想要使用MySQL。

我使用postgres安装了默认版本,并且能够启动并运行它。

我更改了docker-compose.yaml

db:
  image: mysql:8
  environment: 
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_DATABASE=api
    - MYSQL_USER=api-platform
    - MYSQL_PASSWORD=!ChangeMe!
  volumes:
    - db-data:/var/lib/mysql
  ports:
    - target: 3306
      published: 3306
      protocol: tcp

和api / .env

DATABASE_URL=mysql://api-platform:[email protected]:3306/api

使用MySQL 8.0的文件。一切似乎都在运行,但我在Docker日志中看到

php_1 | Waiting for db to be ready...

并且当我打开浏览器至https://127.0.0.1:8443时,我得到了502错误的网关。

有关此问题的任何线索?

谢谢

mysql docker api-platform.com
1个回答
0
投票

这是使MySQL 8在API平台上运行的工作。

下载了API Platform 2.5.6的最新版本

docker-compose.yml

db:
  image: mysql:8
  command: mysqld --default-authentication-plugin=mysql_native_password
  restart: always
  security_opt:
    - seccomp:unconfirmed
  enviroment:
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_USER=api-platform
    - MYSQL_PASSWORD=!ChangeMe!
    - MYSQL_DATABASE=api
  volumes:
    -  db-data:/var/lib/mysql
  ports:
    - target: 3306
      published: 3306
      protocol: tcp

\ api.env

DATABASE_URL=mysql://api-platform:!ChangeMe!@db:3306/api?server_version=8

\ api \ Dockerfile

RUN set -eux; \
    apk add --no-cache --virtual .\build-deps \
    $PHPIZE_DEPS \
    icu-dev \
    libzip-dev \
    pdo_mysql \
    zip \
; \
docker-php-ext-configure zip; \
docker-php-ext-install -j$(nproc) \
    intl \
    pdo_mysql \
    zip \
; \

\ api \ docker \ php \ docker-entrypoint.sh

#if ls -A src/Migrations/*.php > /dev/null 2>&1; then
#    bin/console doctrine:migrations:migrate --no-interaction
#fi

对于迁移脚本处理MySQL来说将是很好的选择。至少我现在已经启动并运行它。

© www.soinside.com 2019 - 2024. All rights reserved.