前言
本文包括如下部分:
1)快速启动单机版postgre
2)开发环境快速启动postgre的一个方案。
1. 单机版启动
1.1 docker-compose.yml
创建postgre目录,目录下创建docker-compose.yml文件如下:
文件中用的我内网镜像,替换成公网镜像即可
version: "3.1"
services:
db_test:
image: harbocto.xxx.com.cn/public/postgresql:latest
environment:
POSTGRES_PASSWORD: liubei@2021
POSTGRES_USER: liubei
POSTGRES_DB: liubei
TZ: Asia/Shanghai
ports:
- 5432:5432
volumes:
- ./data:/var/lib/postgresql/data
restart: always
1.2 启动
在postgre目录下执行如下命令启动postgre
# docker-compose up -d
启动之后,数据库就可以正常使用了。
2 自动创建脚本
说明:
1)在宿主机中执行如下脚本,自动启动一个容器供开发测试使用。
2)执行过程中需要一些交互式输入:安装位置、密码、使用端口、库名。
3)开发环境可从FTP或Http服务器上调用该脚本直接本地启动一个postgre实例。
启动脚本
#!/bin/bash
########## 定义变量 ##########
read -p "输入安装的位置(回车默认/usr/local/db ) " db_dir
if [ -z "${db_dir}" ];then
db_dir=/usr/local/db
fi
read -p "输入用户名(回车默认liubei):" db_user
if [ -z "${db_user}" ];then
db_user=liubei
fi
read -p "输入密码(回车默认liubei@2021):" db_passwd
if [ -z "${db_passwd}" ];then
db_passwd=liubei@2021
fi
read -p "输入端口(默认5432):" db_port
if [ -z "${db_port}" ];then
db_port=5432
fi
read -p "新建库(默认liubei):" db_db
if [ -z "${db_db}" ];then
db_db=liubei
fi
############## yml文件 ##################
mkdir ${db_dir} -p
cat > ${db_dir}/docker-compose.yml << EOF
version: "3.1"
services:
db_test:
image: 10.252.xxx.xxx/public/postgresql:latest
environment:
POSTGRES_PASSWORD: ${db_passwd}
POSTGRES_USER: ${db_user}
POSTGRES_DB: ${db_db}
TZ: Asia/Shanghai
ports:
- ${db_port}:5432
volumes:
- ./data:/var/lib/postgresql/data
restart: always
EOF
cd ${db_dir}
docker-compose up -d
docker ps