我正在尝试使用Docker设置本地开发环境,该Docker本身在Ubuntu(由Vagrant管理)的虚拟机中运行。在一个典型的Laravel项目中,我在Laravel的存储内部创建了一个单独的 docker / mysql 目录(当然带有.gitignore),我打算将其用作MYSQL数据库的卷。文件。但是,当我启动docker-compose文件时,它会为mysql容器输出以下消息:
mysql-db_1 | 2020-04-16 13:45:17 + 00:00 [注意] [入口]: MySQL服务器5.7.29-1debian10的入口点脚本已启动。 mysql-db_1 | 2020-04-16 13:45:17 + 00:00 [注意] [入口]:切换 专用用户'mysql'mysql-db_1 | 2020-04-16 13:45:17 + 00:00 [注意] [入口点]:MySQL服务器的入口点脚本 5.7.29-1debian10已启动。 mysql-db_1 | 2020-04-16 13:45:17 + 00:00 [注意] [入口]:初始化数据库文件mysql-db_1 | 2020-04-16T13:45:17.557251Z 0 [警告]带有隐式的TIMESTAMP 不建议使用DEFAULT值。请用 --explicit_defaults_for_timestamp服务器选项(有关更多详细信息,请参阅文档)。 mysql-db_1 | 2020-04-16T13:45:17.560836Z 0 [错误] --initialize指定,但数据目录中包含文件。中止。 mysql-db_1 | 2020-04-16T13:45:17.560904Z 0 [错误]正在中止
结果,在提到的目录(ib_logfile1 ...)中出现了3个日志文件。有人知道我该如何解决这个问题?
我的docker-compose文件:
version: '3'
services:
nginx:
build:
context: ./
dockerfile: docker/nginx.docker
volumes:
- ./:/var/www
ports:
- 8080:80
depends_on:
- php-fpm
php-fpm:
build:
context: ./
dockerfile: docker/php-fpm.docker
volumes:
- ./:/var/www
environment:
- DB_PORT=3306
- DB_HOST=mysql-db
- DB_USERNAME=app
- DB_PASSWORD=secret
- DB_DATABASE=app
depends_on:
- mysql-db
mysql-db:
image: mysql:5.7
volumes:
- ./storage/docker/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_USER=app
- MYSQL_PASSWORD=secret
- MYSQL_DATABASE=app
ports:
- 33061:3306
composer:
image: composer:1.9
volumes:
- ./:/var/www
working_dir: /var/www
command: composer install
depends_on:
- php-fpm