使用docker环境Beikeshop安装过程中遇到很多问题总结一下
1.phpmyadmin安装问题
①
RUN apt-get clean && \ 1292 rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ 1293 rm /var/log/lastlog /var/log/faillog rm: cannot remove '/var/log/faillog': No such file or directory- 修改Dockerfile,在删除命令前添加 -f 参数(强制删除,忽略不存在的文件)
- 或者使用条件删除,如 rm -f /var/log/lastlog /var/log/faillog
②
Docker在尝试从Docker Hub拉取 phpmyadmin 基础镜像时,无法连接到Docker Hub的认证服务器
更换国内镜像
2.mysql版本问题
2025-12-30T10:31:50.759567Z 0 [ERROR] [MY-015628] [Server] Unknown character set: 'utf8'.- .env 文件中 MYSQL_VERSION=latest (第359行)
- 这意味着Docker将拉取并使用最新版本的MySQL镜像
因为MySQL 8.0对字符集进行了调整,不再支持单纯的 utf8 字符集名称,需要使用 utf8mb4
utf8mb4 是MySQL 8.0+和9.0+推荐的UTF-8字符集
解决方案
- 编辑 docker/mysql/my.cnf 文件
- 将第10行的 character-set-server=utf8 修改为 character-set-server=utf8mb4
注释掉 # default-authentication-plugin=mysql_native_password
my.cnf
# The MySQL Client configuration file. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html [mysql] [mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" character-set-server=utf8mb4 # default-authentication-plugin=mysql_native_password3.workspace
20.48 + groupadd -g 1000 laradock 20.50 groupadd: GID '1000' already exists错误含义
这个错误表示在执行 groupadd -g 1000 laradock 命令时失败,因为GID(组ID)1000已经存在于系统中。
解决方案
②- 将 WORKSPACE_PGID 修改为其他未使用的GID值,如1001
- 同时需要相应调整 WORKSPACE_PUID 以保持一致性.
从 .env 文件可以看到,默认配置 WORKSPACE_PUID=1000 和 WORKSPACE_PGID=1000
.env文件第180-181行改成1001
WORKSPACE_PUID=1001
WORKSPACE_PGID=1001