使用Laradock
系统信息:
- Docker 版本:17.10.0-ce,构建 f4ffd25
- 操作系统:Windows 10 家庭版
当我运行时docker-compose up -d mysql
出现错误。以下是码头工人日志
[注意] Basedir 设置为 /usr/
[警告] 语法 '--symbolic-links/-s' 已弃用,将在未来版本中删除
[警告] 'NO_ZERO_DATE'、'NO_ZERO_IN_DATE' 和 'ERROR_FOR_DIVISION_BY_ZERO' sql 模式应与严格模式一起使用。它们将在未来的版本中与严格模式合并。
[错误] --initialize 已指定,但数据目录中有文件。中止。
[错误] 中止
我试过删除mysql
下面的文件夹~/.laradock\data
但没有用。
更新 1
laradock Dockerfile 下的 MySQL Container
mysql:
build:
context: ./mysql
args:
- MYSQL_VERSION=${MYSQL_VERSION}
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- TZ=${WORKSPACE_TIMEZONE}
volumes:
- ${DATA_SAVE_PATH}/mysql:/var/lib/mysql
- ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
ports:
- "${MYSQL_PORT}:3306"
networks:
- backend
MySQL Docker 文件
ARG MYSQL_VERSION=8.0
FROM mysql:${MYSQL_VERSION}
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
#####################################
# Set Timezone
#####################################
ARG TZ=UTC
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN chown -R mysql:root /var/lib/mysql/
ADD my.cnf /etc/mysql/conf.d/my.cnf
CMD ["mysqld"]
EXPOSE 3306
更新 2
在我删除mysql
文件夹后,~/.laradock/data
我收到以下错误。在命令之后,它会生成下图中的文件。当我重新运行时,返回上面提到的先前错误。
[注意] Basedir 设置为 /usr/
[警告] 语法 '--symbolic-links/-s' 已弃用,将在未来版本中删除
[警告] 'NO_ZERO_DATE'、'NO_ZERO_IN_DATE' 和 'ERROR_FOR_DIVISION_BY_ZERO' sql 模式应与严格模式一起使用。它们将在未来的版本中与严格模式合并。
[警告] 设置 lower_case_table_names=2 因为 /var/lib/mysql/ 的文件系统不区分大小写
[警告] 您需要使用 --log-bin 来使 --log-slave-updates 工作。
libnuma:警告:/sys 未安装或无效。假设一个节点:没有这样的文件或目录 mbind:不允许操作
[错误] InnoDB:文件操作中的操作系统错误号 22。
[错误] InnoDB:错误号 22 表示“无效参数”
[错误] InnoDB:文件 ./ib_logfile101:“aio write”返回操作系统错误 122。无法继续操作
[错误] InnoDB:无法继续操作。
** 我尝试在 Windows 7 机器上运行。