Как изменить версию mysql с 8.0 на 5.6 в docker-compose.yml проекта laravel 8?

#php #mysql #laravel #docker-compose #laravel-sail

Вопрос:

Я установил laravel 8 через sail. По умолчанию docker-compose.yml использует mysql:8. Но мне нужно изменить версию mysql на 5.6 или 5.7.

Когда я запускаю sail up -d и затем запускаю docker-compose ps , я вижу, что контейнер mysql не запущен:

 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
 

И я создал новый файл Dockerfile для изображения php, и в этом файле я изменил только версию php с 8 на 7.3.

Другие контейнеры работают правильно. Когда я меняю версию mysql на 8, контейнер mysql работает правильно.

Комментарии:

1. обратите внимание, что 5.6 больше не поддерживается oracle; это означает отсутствие исправлений безопасности, если вы не платите третьей стороне (например, percona) за поддержку. скоро это будет справедливо и для 5,7.

2. Есть ли какие-либо ошибки в файлах журнала ?

Ответ №1:

Используйте команду:

плыви вниз-rmi all -v

Старые тома были удалены, и проблема была решена.