我有一个非常奇怪的错误。我已经能够把它归结为一个非常简单的案例,我不知道我是否发现了一个错误,或者我是否遗漏了一些错误。
问题是我需要一个mariadb容器,我可以使用以下命令完美地运行它:
docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw mariadb
但它使用以下docker-compose.yml文件失败:
wordpress_db:
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=foo
除此之外,还有其他事项:
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: The InnoDB memory heap is disabled
我能清楚地认识到的第一条消息是:
wordpress_db_1 | InnoDB: No valid checkpoint found.
(你可以看到帖子末尾的完整输出)
如果我为mysql切换mariadb,就不会发生这种情况。
任何人都可以帮助我吗?
谢谢!
输出:
Starting miqueladell_wordpress_db_1
Attaching to miqueladell_wordpress_db_1
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] mysqld (mysqld 10.1.10-MariaDB-1~jessie) starting as process 1 ...
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Using mutexes to ref count buffer pool pages
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: The InnoDB memory heap is disabled
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Memory barrier is not used
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Compressed tables use zlib 1.2.8
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Using Linux native AIO
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Using SSE crc32 instructions
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Initializing buffer pool, size = 256.0M
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Completed initialization of buffer pool
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] InnoDB: Highest supported file format is Barracuda.
wordpress_db_1 | InnoDB: No valid checkpoint found.
wordpress_db_1 | InnoDB: If this error appears when you are creating an InnoDB database,
wordpress_db_1 | InnoDB: the problem may be that during an earlier attempt you managed
wordpress_db_1 | InnoDB: to create the InnoDB data files, but log file creation failed.
wordpress_db_1 | InnoDB: If that is the case, please refer to
wordpress_db_1 | InnoDB: http://dev.mysql.com/doc/refman/5.6/en/error-creating-innodb.html
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [ERROR] Plugin 'InnoDB' init function returned error.
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [Note] Plugin 'FEEDBACK' is disabled.
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [ERROR] Unknown/unsupported storage engine: InnoDB
wordpress_db_1 | 2016-01-11 14:33:25 140183257745344 [ERROR] Aborting
wordpress_db_1 |
miqueladell_wordpress_db_1 exited with code 1
答案 0 :(得分:1)
我在使用 Docker Hub 的 Maria_DB 官方镜像时遇到了同样的问题。 它在 maria_DB 10.5 版上运行过一次,但是当我降级到 10.3 时,我遇到了同样的错误。
错误是由前一个容器的体积引起的,您必须将其删除。
首先,停止容器(您可以使用 docker ps 获取 docker cotnainer id):
docker stop xxxxx
然后删除它:
docker rm xxxxx
最后,删除关联的容器:
docker volume ls
docker rm my_volume_name
您的容器现在应该可以毫无问题地重新启动。
答案 1 :(得分:0)
我不确定这应该是评论还是答案,但我不想达到字符限制所以......
主要回答@ tjheslin1,我怀疑它对其他人有用。
我现在已经有几个月没有使用docker了,但是在某些时候我确实设法使用这个代码:
https://github.com/MiquelAdell/mariadb-utf8mb4/blob/master/Dockerfile
我不确定是什么,我的环境目前有很多动人的东西。
我现在没有时间重新创建所述环境以提供更多帮助,但我不想让那些在那里绊倒的人永远等待。
我想我应该将这个问题视为没有答案,因为我很快就无法跟进。
抱歉: - \
答案 2 :(得分:0)
这对我有用
docker-compose up -d
然后
docker-compose down -v
您可能需要杀死该卷并重新创建它。更多