如何在 laravel 8 项目的 docker-compose.yml 中将 mysql 版本从 8.0 更改为 5.6?
How to change mysql version from 8.0 to 5.6 in docker-compose.yml of laravel 8 project?
我通过 sail 安装了 laravel 8。默认情况下 docker-compose.yml 使用 mysql:8。但我需要将 mysql 版本更改为 5.6 或 5.7。
当我 运行 sail up -d
而不是 运行 docker-compose ps
我看到 mysql 容器不是 运行ning:
myproject_mysql_1 docker-entrypoint.sh mysqld Exit 2
我的docker-compose.yml(我只改了“image
”属性):
mysql:
image: 'mysql:5.7'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- 'sailmysql:/var/lib/mysql'
networks:
- sail
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
retries: 3
timeout: 5s
并且我为 php 图像创建了新的 Dockerfile,我只在这个文件中将 php 版本从 8 更改为 7.3。
其他容器正常工作。当我将 mysql 版本更改为 8 时,mysql 容器可以正常工作。
使用命令:
sail down --rmi all -v
旧卷已删除,问题已解决。
我通过 sail 安装了 laravel 8。默认情况下 docker-compose.yml 使用 mysql:8。但我需要将 mysql 版本更改为 5.6 或 5.7。
当我 运行 sail up -d
而不是 运行 docker-compose ps
我看到 mysql 容器不是 运行ning:
myproject_mysql_1 docker-entrypoint.sh mysqld Exit 2
我的docker-compose.yml(我只改了“image
”属性):
mysql:
image: 'mysql:5.7'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- 'sailmysql:/var/lib/mysql'
networks:
- sail
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
retries: 3
timeout: 5s
并且我为 php 图像创建了新的 Dockerfile,我只在这个文件中将 php 版本从 8 更改为 7.3。
其他容器正常工作。当我将 mysql 版本更改为 8 时,mysql 容器可以正常工作。
使用命令:
sail down --rmi all -v
旧卷已删除,问题已解决。