如何在 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

旧卷已删除,问题已解决。