我正在尝试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 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来说将是很好的选择。至少我现在已经启动并运行它。