作者:韵公举_R | 来源:互联网 | 2023-08-16 20:01
一.创建Dockerfile文件(~dockerDockerfile)#FROMpostgres:9.3-alpineFROMlibrarypostgresENVPOSTGRES_
一 . 创建 Dockerfile 文件(~/docker/Dockerfile)
# FROM postgres:9.3-alpine
FROM library/postgres
ENV POSTGRES_USER docker
ENV POSTGRES_PASSWORD docker
ENV POSTGRES_DB docker
二. 生成镜像
# dockerfile所在目录
docker build -t postgres:v1 .
三. 启动服务(通过docker-compos)
- postgres.yaml文件(~/docker/postgres.yaml)
version: '2'
services:
postgres:
container_name: bcap-postgres
image: postgres:v1
restart: always
ports:
- 5432:5432
environment:
- GODEBUG=netdns=go
- POSTGRES_USER=docker
- POSTGRES_PASSWORD=docker
volumes:
- ./data/postgres:/var/lib/postgresql/data
docker-compos -f postgres.yaml up -d
四.客户端验证
psql -h localhost -U docker -d docker
# 之后输入密码: docker
五.显示效果
101534764988_.pic_hd.jpg
—————–华丽的分割线———————————-华丽的分割线—————–
后记使用脚本登录并添加数据库()
pgpass_file="~/.pgpass"
pass="$1"
db="$2"
# 创建.pgpass文件
createPgpass(){
if [ ! -f "$pgpass_file" ]; then
echo "localhost:5432:postgres:postgres:$pass" > ~/.pgpass
chmod 0600 ~/.pgpass
fi
}
# 创建数据库
createDB(){
Msg=$(psql -h localhost -U postgres -p 5432 -d postgres --command="CREATE DATABASE $db")
echo "$Msg"
}
if [ ! $2 ];then
echo "输入错误,请输入正确格式: './db.sh 密码 数据名称'"
echo "eg: ' ./db 12345678 testdb'"
else
createPgpass
createDB
fi