在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1 前言在文章《Docker启动PostgreSQL并推荐几款连接工具》中我们介绍如何通过 2 两种方案一种方案是把 把
#!/bin/bash set -e set -u function create_user_and_database() { local database=$1 echo " Creating user and database '$database'" psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL CREATE USER $database; CREATE DATABASE $database; GRANT ALL PRIVILEGES ON DATABASE $database TO $database; EOSQL } if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do create_user_and_database $db done echo "Multiple databases created" fi
CREATE USER pkslowuser; CREATE DATABASE logdata; GRANT ALL PRIVILEGES ON DATABASE logdata TO pkslowuser; CREATE DATABASE orderdata; GRANT ALL PRIVILEGES ON DATABASE orderdata TO pkslowuser; CREATE DATABASE userdata; GRANT ALL PRIVILEGES ON DATABASE userdata TO pkslowuser; 3 打包启动准备 FROM postgres:10 COPY src/main/resources/create-multiple-postgresql-databases.sh /docker-entrypoint-initdb.d/ COPY src/main/resources/create-multiple-postgresql-databases.sql /docker-entrypoint-initdb.d/ 启动如下: docker run -itd \ --name pkslow-postgres \ -e POSTGRES_MULTIPLE_DATABASES=db1,db2 \ -e POSTGRES_USER=pkslow \ -e POSTGRES_PASSWORD=pkslow \ -p 5432:5432 \ pkslow/postgresql-multiple-databases:1.0-SNAPSHOT 启动成功后,就会创建如下数据库: db1,db2, logdata,orderdata,userdata 4 总结这是在开发测试阶段使用的方案,实际上把数据库放在容器中不是一个好的选择。 代码请查看:https://github.com/LarryDpk/pkslow-samples 到此这篇关于Docker启动PostgreSQL时创建多个数据库的文章就介绍到这了,更多相关Docker启动PostgreSQL内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论