坚持Bitnami的Wordpress Docker设置

时间:2017-11-05 05:26:40

标签: wordpress docker docker-compose mariadb bitnami

我正在尝试使用此文档设置Wordpress:

https://github.com/bitnami/bitnami-docker-wordpress#mount-host-directories-as-data-volumes-with-docker-compose

我的主机目录在docker-compose文件中显示如下:

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-compose文件更改为使用非主机目录:

volumes:
  - 'mariadb_data:/bitnami'
...
volumes:
  - 'wordpress_data:/bitnami'

... docker-compose up有效。

如果我然后停止docker,然后将docker-compose文件恢复为再次使用主机目录,docker-compose up 现在可以正常工作,并且主机目录正确填充

这是我的问题的解决方案,但我想知道为什么,如果有办法让事情没有这个解决办法。

1 个答案:

答案 0 :(得分:0)

检查bitnami/bitnami-docker-mariadb issue 123是否与您的案件相关:

  

似乎docker-compose up并没有从头开始创建一个容器(使用干净的文件系统),而是使用了一个预先存在的容器。我从开头的序列中推断出这一点:

Starting mariadb_mariadb_1
Attaching to mariadb_mariadb_1
...
  

在我看来,这个容器在之前的执行中是以/bitnami/mariadb的附加卷开始的。之后,停止容器,分离该容积,然后重新启动容器。它没有配置任何东西,只是试图运行mysql服务器二进制文件。由于我们执行从/opt/bitnami/mariadb指向/bitnami/mariadb(包含my.cnf文件)的符号链接,因此该文件丢失,并且二进制文件在开始时崩溃。

     

您可以尝试使用docker-compose file we provide in this repo吗?如果您只是为了添加环境变量而修改它,则不应该遇到这些问题。

     

作为解决方法,只需运行以下命令:

docker-compose down -v
docker-compose up
  

它将删除MariaDB容器以及相关的任何卷,并从头开始。请记住,您将丢失在容器中设置的任何状态。