mysql - API 平台 - 切换到 mySQL
问题描述
我正在尝试 API 平台。我安装了最新版本,并在 Windows 10 上的 Docker 中运行它。默认 db 是 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:!ChangeMe!@127.0.0.1:3306/api
文件以使用 MySQL 8.0. 一切似乎都在运行,但我在 Docker 日志中看到
php_1 | Waiting for db to be ready...
当我打开浏览器到https://127.0.0.1:8443时,我得到一个 502 Bad Gateway。
这个问题的任何线索?
谢谢
解决方案
这是我为使 MySQL 8 在 API 平台中工作所做的工作。
下载最新版 API Platform 2.5.6
码头工人-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 会很好。至少我现在已经启动并运行了。
推荐阅读
- javascript - React 功能组件中超出最大更新深度
- python - 如何制作 Python 打印循环
- blazor - 如何添加 SVG
在 Blazor/razor 文件中 - python - 抓取长度为 6 的数字,Python 中特定短语后面的数字除外
- php - 从 WooCommerce 中的管理产品设置和单个产品页面中删除“重量”
- python - Python中是否有一种方法可以从字符串中读取两个浮点数
- javascript - 尝试将简单点插入地理服务器点图层时出错
- kubernetes - 使用 API 调用检索 GKE 集群 kubeconfig
- python - 在 Pandas 中排名 OVER Window PartitionBy
- python - 绘制子图时如何修复“numpy.ndarray”对象没有属性“get_figure”