我正在尝试用以下文档设置Wordpress:
这些卷的主机目录在docker-组合文件中如下所示:
volumes:
- './mariadb_data:/bitnami'
...
volumes:
- './wordpress_data:/bitnami'在运行docker-compose up时,会发生以下错误:
mariadb_1 | INFO ==> Starting mysqld_safe...
mariadb_1 | Could not open required defaults file: /opt/bitnami/mariadb/conf/my.cnf
mariadb_1 | Fatal error in defaults handling. Program aborted
mariadb_1 | WARNING: Defaults file '/opt/bitnami/mariadb/conf/my.cnf' not found!
mariadb_1 | Could not open required defaults file: /opt/bitnami/mariadb/conf/my.cnf
mariadb_1 | Fatal error in defaults handling. Program aborted
mariadb_1 | WARNING: Defaults file '/opt/bitnami/mariadb/conf/my.cnf' not found!
mariadb_1 | 171105 05:15:41 mysqld_safe Logging to '/opt/bitnami/mariadb/data/200101d1b330.err'.
mariadb_1 | 171105 05:15:41 mysqld_safe Starting mysqld daemon with databases from /opt/bitnami/mariadb/data
mariadb_1 | /opt/bitnami/mariadb/bin/mysqld_safe_helper: Can't create/write to file '/opt/bitnami/mariadb/data/200101d1b330.err' (Errcode: 2 "No such file or directory")
myproject_mariadb_1 exited with code 1但是,如果我将我的docker-组合文件更改为使用非宿主目录:
volumes:
- 'mariadb_data:/bitnami'
...
volumes:
- 'wordpress_data:/bitnami'..。docker-compose up可以工作。
如果我然后停止停靠,然后恢复我的坞-合成文件再次使用主机目录,docker-compose up现在将工作,主机目录是正确的填充。
这是一个解决我的问题,但我想知道为什么,如果有办法使事情不这样做-周围。
发布于 2017-11-05 10:39:59
检查第123期是否与您的情况相关:
看来,docker并没有从头创建容器(使用干净的文件系统),而是使用了一个预先存在的容器。我从一开始就推断出这一点:
Starting mariadb_mariadb_1
Attaching to mariadb_mariadb_1
...在我看来,在之前的执行过程中,这个容器是从
/bitnami/mariadb附带的卷开始的。在此之后,容器被停止,这样的卷被分离,然后容器被重新启动。它没有配置任何东西,只是尝试运行mysql服务器二进制文件。由于我们从/opt/bitnami/mariadb执行指向/bitnami/mariadb的符号链接(包括my.cnf文件),该文件丢失,二进制文件在启动时崩溃。 你能试试用我们在本次回购中提供的docker-compose文件吗?如果您只修改它以添加环境变量,则不应该遇到此类问题。 作为解决办法,只需运行以下命令:
docker-compose down -v
docker-compose up它将删除MariaDB容器以及任何相关的卷,并从头开始。请记住,您将失去在容器中设置的任何状态。
https://stackoverflow.com/questions/47118477
复制相似问题