postgres
This commit is contained in:
parent
13841b5fb1
commit
8f1a3464a2
@ -12,58 +12,42 @@
|
|||||||
mkdir /data/postgres -p
|
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
|
```yml
|
||||||
version: "3.1"
|
version: "3.1"
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: wandoubaba/postgres
|
image: postgres:14
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_PASSWORD: password
|
POSTGRES_PASSWORD: NASDnyeUgql6U4I9fa
|
||||||
PGDATA: /var/lib/postgresql/data/pgdata
|
PGDATA: /var/lib/postgresql/data/pgdata
|
||||||
ports:
|
|
||||||
- 5432:5432
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/var/lib/postgresql/data
|
- ./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版本
|
## 查看当前postgres版本
|
||||||
|
|
||||||
|
### 方法一 - 进入容器使用命令
|
||||||
|
|
||||||
先用`docker ps`命令找到postgres容器实例,假设实例id是`52a63c60bb59`:
|
先用`docker ps`命令找到postgres容器实例,假设实例id是`52a63c60bb59`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -83,4 +69,22 @@ docker exec -it 52a63c60bb59 /bin/bash
|
|||||||
# 进入容器后执行下面命令
|
# 进入容器后执行下面命令
|
||||||
psql --version
|
psql --version
|
||||||
# psql (PostgreSQL) 14.1 (Debian 14.1-1.pgdg110+1)
|
# 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)|
|
||||||
```
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user