1

我有两个简单的服务:adminer 和 mysql。

容器.yml:

version: "2"
settings:

  conductor_base: debian:stretch
  project_name: Ansible-container

defaults:
  DB_HOST: mysql
  DB_USER: test
  DB_PASS: *********
  DB_NAME: test

services:

  adminer:
    from: adminer
    links:
      - mysql
    ports:
      - 8080:8080

  mysql:
    from: mysql:5.7
    volumes:
      - /home/argonavt/ansible-container/dump.sql:/var/dump.sql
    environment:
      MYSQL_DATABASE: "{{ DB_NAME }}"
      MYSQL_USER: "{{ DB_USER }}"
      MYSQL_PASSWORD: "{{ DB_PASS }}"
      MYSQL_ROOT_PASSWORD: "{{ DB_USER }}{{ DB_PASS }}"

registries: {}

但是,在构建并运行之后,创建的容器上没有 /var/dump.sql 文件,并且当我使用 --debug 模式运行它时也没有错误。此外,我没有在 container.yml 文件中定义一个新卷,但不知何故创建了它:

"Volumes": {
    "/var/lib/mysql": {}
},

它是如何工作的?它怎么知道 mysql 数据应该在卷上?为什么它看不到我自己的卷?

如果我在 docker-compose 上运行相同的服务,一切都很好。

版本:

  • Ansible 容器,版本 0.9.2。
  • Docker 版本 17.09.1-ce。

我将不胜感激任何帮助。谢谢。

4

1 回答 1

0

挂载目录而不是文件,所以跳过 x.sql

于 2017-12-27T06:00:25.687 回答