# docker部署postgres数据库服务 > 本文同时实现按中文拼音排序(将默认语言环境设置为zh_CN.utf8) 基于docker和docker-compose,操作前要先安装这两个服务和工具。 ## 创建存储目录 比如创建`/data/postgres/`目录。 ```sh mkdir /data/postgres -p ``` ## 创建编排文件 创建文件`/data/postgres/docker-compose.yml`,内容如下(注意自己改postgres用户的密码): 以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 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 ``` ## 启动容器 在`/data/pgsql`目录下执行下面的命令: ```sh docker-compose up -d ``` ## 查看当前postgres版本 ### 方法一 - 进入容器使用命令 先用`docker ps`命令找到postgres容器实例,假设实例id是`52a63c60bb59`: ```sh 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)| ```