docker安装并持久化postgresql数据库

4,689 阅读1分钟

一 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’ 指定密码