docker 容器 mariadb 卷

brn*_*brn 5 mysql mariadb docker

我有一个 MariaDB 容器来处理我的数据库。

这是我的问题,我执行:

docker-compose exec mariadb mysql -u root 
Run Code Online (Sandbox Code Playgroud)

进入MariaDB容器并创建一个测试数据库,然后退出容器,并通过命令关闭它:

docker-compose down 
Run Code Online (Sandbox Code Playgroud)

之后,我通过命令启动所有容器

docker-compose up
Run Code Online (Sandbox Code Playgroud)

返回 MariaDB 容器内部,查看我添加的数据库是否持续存在,但我发现它没有。我认为我已经通过 docker-compose 中的这一行正确参数化了 MariaDB 卷:

- '/bitnami/mariadb/:/var/lib/mysql'
Run Code Online (Sandbox Code Playgroud)

这是我完整的 docker-compose.yml 文件:

version: '2'
services:
 myapp:
  image: 'bitnami/symfony:1'
  ports:
    - '8000:8000'
  volumes:
    - '.:/app'
  environment:
    - SYMFONY_PROJECT_NAME=backend
    - MARIADB_HOST=mariadb
    - MARIADB_PORT_NUMBER=3306
    - MARIADB_USER=monty
    - MARIADB_PASSWORD=monty
    - MARIADB_DATABASE=test
  container_name: symfony_container
  depends_on:
    - mariadb
mariadb:
  image: 'bitnami/mariadb:10.3'
  ports:
    - '3306:3306'
  volumes:
    - '/bitnami/mariadb/:/var/lib/mysql'
  environment:
    - ALLOW_EMPTY_PASSWORD=yes
    - MARIADB_DATABASE=test
    - MARIADB_PORT_NUMBER=3306
    - MARIADB_ROOT_USER=root
    - MARIADB_USER=monty
    - MARIADB_PASSWORD=monty
  container_name: mariadb
Run Code Online (Sandbox Code Playgroud)

如果有人有任何线索给我,我将不胜感激。

BMi*_*tch 5

更新,自从有人提出这个问题以来,docker 已经更改了卷安装的路径。请参阅https://github.com/docker-library/docs/blob/master/mariadb/README.md#where-to-store-data上的当前文档

使用以下命令/path/on/host从主机挂载到/var/lib/mysql容器中:

  - '/path/on/host:/var/lib/mysql'
Run Code Online (Sandbox Code Playgroud)