Docker: – 在PostgreSQL Docker容器中创build数据库

我已经使用了下面的命令,并在Ubuntu的Postgresql中创build了一个Docker容器。 有无论如何,我可以在运行命令中指定postgres数据库密码,并从docker容器内的SQL脚本执行sql命令?

目前我使用下面的命令访问容器并手动执行sql命令。

sudo docker run --rm -t -i --link pg_docker:pg postgresql_image bash sql -h $PG_PORT_5432_TCP_ADDR -p $PG_PORT_5432_TCP_PORT -d docker -U docker --password prompts for postgres Password: # example Dockerfile for http://docs.docker.com/examples/postgresql_service/ # FROM ubuntu MAINTAINER vicky RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list RUN apt-get update && apt-get install -y python-software-properties software-properties-common postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 USER postgres RUN /etc/init.d/postgresql start &&\ psql --command "CREATE USER docker WITH SUPERUSER PASSWORD 'docker';" &&\ createdb -O docker docker RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.3/main/pg_hba.conf RUN echo "listen_addresses='*'" >> /etc/postgresql/9.3/main/postgresql.conf EXPOSE 5432 VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"] CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"] Commands to Create Docker Image & Container sudo docker build -t postgresql_image . sudo docker run --rm -P --name pg_docker postgresql_image & sudo docker run --rm -t -i --link pg_docker:pg postgresql_image bash sql -h $PG_PORT_5432_TCP_ADDR -p $PG_PORT_5432_TCP_PORT -d docker -U docker --password prompts for postgres Password: 

在dockerhub中有一个官方的postgre镜像(https://registry.hub.docker.com/_/postgres/)

1)在运行命令中指定postgres db密码

2)使用run命令执行sql命令。

请让我们知道,如果它满足你在找什么