docker 安装 Postgres 17.6
参考链接
https://hub.docker.com/_/postgres
安装
1)拉取镜像
docker pull postgres:17.6
2)拉取 postgres 的配置文件
# 将 pg 的配置文件输出到 /app/docker/pg/postgres.conf
docker run -i --rm postgres cat /usr/share/postgresql/postgresql.conf.sample > /app/docker/pg/postgres.conf
3)运行 postgres
docker run -d \--name postgres \-p 5432:5432 \-e POSTGRES_PASSWORD=mysecretpassword \-v /app/docker/pg/postgres.conf:/etc/postgresql/postgresql.conf \-v /app/docker/pg/data:/var/lib/postgresql/data \postgres:17.6 -c 'config_file=/etc/postgresql/postgresql.conf'
说明:
--name postgres
:容器名称为 postgres
-p 5432:5432
:宿主机端口映射,如果不需要可以删除
-e POSTGRES_PASSWORD=mysecretpassword
:设置 postgres 账号密码为 mysecretpassword
-v /app/docker/pg/postgres.conf:/etc/postgresql/postgresql.conf
:容器卷映射,宿主机 /app/docker/pg/postgres.conf 映射到 容器内 /etc/postgresql/postgresql.conf;方便对 pg 的配置文件进行修改
-v /app/docker/pg/data:/var/lib/postgresql/data
:容器卷映射,宿主机的 /app/docker/pg/data 映射到 容器内 /var/lib/postgresql/data;用于存储 pg 数据库的数据
-c 'config_file=/etc/postgresql/postgresql.conf'
:用于指定 pg 数据库配置文件的路径
容器内使用 pg
1)进入容器
# postgres 为容器名
docker exec -it postgres bash
2)切换 postgres 用户
su postgres
3)执行 psql
psql