在docker容器

时间:2017-06-18 11:33:12

标签: postgresql docker

我对Docker有点新鲜 我有两个使用docker-compose运行的容器 一个是API,另一个是实际应用 我想使用Postgres官方图片添加一个新的数据库容器 要找到一个关于如何创建容器并使用预定义的sql文件(模式和数据)填充它的简单教程有点困难。

当我从Dockerfile中的“CMD /etc/init.d/postgresql start”开始时,我收到一条错误消息:“没有PostgreSQL集群存在;请参阅”man pg_createcluster“...(警告)。”

由于我需要花费太多时间才能完成工作,我想知道是否可以更好地获取Ubuntu图像并自行安装Postgres,因为只有一个关于如何使用图像的来源 - docker hub,以及我似乎不太了解它。

有关如何撰写和“配置”此图片的任何想法或简单步骤?

1 个答案:

答案 0 :(得分:0)

如果您想用一些文件填充数据库,那么简单的方法是:

  

如何扩展此图片

     

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

Dockerfile

FROM postgres:alpine
COPY init.sql /docker-entrypoint-initdb.d/init.sql

搬运工-compose.yml

version: '3'
services:
  app:
  //your app definition
  postgres:
    build: .