Docker撰写卷挂载忽略数据

时间:2020-05-29 12:46:04

标签: docker docker-compose dockerfile

我有一个docker compose文件为:

for (var j = 0; j <= nestedArray.length - 1; j++) {
  for (var k = 0; k <= nestedArray[j]['products'].length - 1; k++) {
    for (var i = 0; i <= inputArray.length - 1; i++) {
      let pos = nestedArray[j]['products'][k]['items'].map(ele => ele.functional_id).indexOf(inputArray[i]['functional_id']);
      if (pos != -1) {
        inputArray[i]['name'] = nestedArray[j]['products'][k]['name'];
      }
    }
  }
}

我作文时得到:

postgres_1 | /usr/local/bin/docker-entrypoint.sh:忽略/docker-entrypoint-initdb.d/folder1 postgres_1 | postgres_1 | /usr/local/bin/docker-entrypoint.sh:忽略/docker-entrypoint-initdb.d/folder2

1 个答案:

答案 0 :(得分:1)

来自dockerhub postgres图像文档:

如果要在派生图像中进行其他初始化 在此脚本中,在下面添加一个或多个* .sql,*。sql.gz或* .sh脚本 /docker-entrypoint-initdb.d(必要时创建目录)。 在入口点调用initdb之后,创建默认的postgres用户 和数据库,它将运行任何* .sql文件,运行任何可执行文件* .sh 脚本,并提供在其中找到的所有非可执行* .sh脚本 目录以在启动服务之前进行进一步的初始化。

警告:仅在以下情况下运行/docker-entrypoint-initdb.d中的脚本: 用一个空的数据目录启动容器;任何 容器启动时将保留原有数据库。一 常见的问题是,如果您的/docker-entrypoint-initdb.d中的一个 脚本失败(这将导致入口点脚本退出),并且 您的协调器将使用已初始化的容器重新启动容器 数据目录,它将不会继续使用您的脚本。

您应该将所有内容移动到同一目录中,并以/docker-entrypoint-initdb.d/的形式安装,而不是内部的文件夹。

所以:

volumes:
  - ./tablestruct:/docker-entrypoint-initdb.d
相关问题