docker 安装 Postgres 17.6

97 阅读1分钟

参考链接

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