一 volume 方式:
1、拉取postgresql镜像
docker pull postgresql:12.3
2、创建本地卷,数据卷可以在容器之间共享和重用, 默认会一直存在,即使容器被删除(docker volume inspect pgdata可查看数据卷的本地位置)
docker volume create pgdata
3、启动容器
docker run --name postgres12 -e POSTGRES_PASSWORD=password -p 5432:5432 -v pgdata:/var/lib/postgresql/data -d postgres:12.3
4、进入postgres容器执行sql
docker exec -it postgres12 bash
psql -h localhost -p 5432 -U postgres --password
\l
二 本地路径方式
docker run -d –name postgresql2 –restart always -e POSTGRES_USER=’postgres’ -e POSTGRES_PASSWORD=’abc123′ -e ALLOW_IP_RANGE=0.0.0.0/0 -v /home/postgres/data:/var/lib/postgresql -v /4T/tmp:/tmp/tmp -p 55433:5432 -t postgis
-e ALLOW_IP_RANGE=0.0.0.0/0,这个表示允许所有ip访问,如果不加,则非本机 ip 访问不了
-e POSTGRES_USER=abcuser 用户名
-e POSTGRES_PASS=‘abc123’ 指定密码