PostgreSQL Docker安装如何设置初始数据库

时间:2016-06-17 07:47:30

标签: postgresql docker centos

我对docker技术很陌生,并致力于使用PostgreSQL设置设置docker容器,启动并作为服务运行,并使用.sql文件创建初始模式创建默认数据库。

我使用的docker文件如下 -

FROM centos:centos6

# Upgrading system
#RUN yum -y upgrade
RUN yum -y install wget

#Installing POSTGRESQL
RUN rm /etc/yum.repos.d/CentOS-Base.repo

COPY CentOS-Base.repo /etc/yum.repos.d/
COPY startup.sh /root/

RUN cd ~
RUN (curl -O http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm && \
rpm -ivh pgdg* && \
yum list postgres* && \
yum install -y  postgresql93-server && \
service postgresql-9.3 initdb)
echo "sh /root/startup.sh" >> ~/.bashrc
EXPOSE 5432

很少需要的东西是 - docker应该在Centos OS和PostgreSQL 9.3上。

我正在运行以下启动脚本(startup.sh文件)以进行安装后活动 -

service postgresql-9.3 start
su - postgres -c "psql -U postgres -c \"alter user postgres with password 'xxxxxxx';\""

现在,当我运行docker时,它会安装并启动docker,但在尝试使用密码'xxxxxxx'命令运行 alter user postgres时会抛出以下错误。

任何建议我如何运行“psql”命令,如上面的alter password,或者可能类似于从.sql文件中加载模式,自动安装在docker容器中。

谢谢,

AJ

0 个答案:

没有答案