diff --git a/docs/docker/docker部署postgres数据库服务.md b/docs/docker/docker部署postgres数据库服务.md index d873bb9..bdc2212 100644 --- a/docs/docker/docker部署postgres数据库服务.md +++ b/docs/docker/docker部署postgres数据库服务.md @@ -12,58 +12,42 @@ mkdir /data/postgres -p ``` -## 创建Dockerfile - -> postgres官方的镜像中不包含zh_CN.utf8环境,因此不支持数据按中文拼音排序,所以需要通过Dockerfile生成自定义镜像。**支持中文排序这一特性会损失pg查询性能**。 - -在`/data/postgres`目录中创建`Dockerfile`文件: - -```sh -touch Dockerfile -vim Dockerfile -``` - -文件内容如下(注意版本要“与时俱进”和“按需选择”): - -```Dockerfile -FROM postgres:14 -RUN localdef -i zh_CN -c -f UTF-8 -A /usr/share/locale/locale.alias zh_CN.UTF-8 -ENV LANG zh_CN.utf8 -``` - -使用`docker build`创建自定义镜像(修改自己的前缀): - -```sh -docker build -t wandoubaba/postgres . -``` - -接下来使用`docker images`命令查看本地镜像: - -```sh -docker images -``` - -应该可以看到`postgres`和`wandoubaba/postgres`镜像了。 - ## 创建编排文件 -创建文件`/data/postgres/docker-compose.yml`,内容如下(注意自己改管理员账号密码): +创建文件`/data/postgres/docker-compose.yml`,内容如下(注意自己改postgres用户的密码): -> `image`一行要用自己编译的镜像名。 +以host模式启动的编排文件: ```yml version: "3.1" services: db: - image: wandoubaba/postgres + image: postgres:14 restart: always environment: - POSTGRES_PASSWORD: password + POSTGRES_PASSWORD: NASDnyeUgql6U4I9fa PGDATA: /var/lib/postgresql/data/pgdata - ports: - - 5432:5432 volumes: - ./data:/var/lib/postgresql/data + network_mode: + host +``` + +以映射端口方式启动的编排文件: + +```yml +version: "3.1" +services: + db: + image: postgres:14 + restart: always + environment: + POSTGRES_PASSWORD: NASDnyeUgql6U4I9fa + PGDATA: /var/lib/postgresql/data/pgdata + volumes: + - ./data:/var/lib/postgresql/data + ports: + - 5432:5432 ``` ## 启动容器 @@ -76,6 +60,8 @@ docker-compose up -d ## 查看当前postgres版本 +### 方法一 - 进入容器使用命令 + 先用`docker ps`命令找到postgres容器实例,假设实例id是`52a63c60bb59`: ```sh @@ -83,4 +69,22 @@ docker exec -it 52a63c60bb59 /bin/bash # 进入容器后执行下面命令 psql --version # psql (PostgreSQL) 14.1 (Debian 14.1-1.pgdg110+1) +postgres --version +# postgres (PostgreSQL) 14.1 (Debian 14.1-1.pgdg110+1) +pg_config|grep VERSION +# VERSION = PostgreSQL 14.1 (Debian 14.1-1.pgdg110+1) +``` + +### 方法二 - 连接数据库使用查询命令 + +```sql +show server_version; +``` + +结果如下: + +```txt +server_version | +------------------------------+ +14.1 (Debian 14.1-1.pgdg110+1)| ```