我对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