docker部署postgres添加zh_CN.utf8支持,新文章配置国内docker hub加速
This commit is contained in:
parent
eaba493cb5
commit
500b9af62d
@ -1,5 +1,7 @@
|
|||||||
# docker部署postgres数据库服务
|
# docker部署postgres数据库服务
|
||||||
|
|
||||||
|
> 本文同时实现按中文拼音排序(将默认语言环境设置为zh_CN.utf8)
|
||||||
|
|
||||||
基于docker和docker-compose,操作前要先安装这两个服务和工具。
|
基于docker和docker-compose,操作前要先安装这两个服务和工具。
|
||||||
|
|
||||||
## 创建存储目录
|
## 创建存储目录
|
||||||
@ -10,15 +12,50 @@
|
|||||||
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 wkzz/postgres .
|
||||||
|
```
|
||||||
|
|
||||||
|
接下来使用`docker images`命令查看本地镜像:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker images
|
||||||
|
```
|
||||||
|
|
||||||
|
应该可以看到`postgres`和`wkzz/postgres`镜像了。
|
||||||
|
|
||||||
## 创建编排文件
|
## 创建编排文件
|
||||||
|
|
||||||
创建文件`/data/pgspostgresql/docker-compose.yml`,内容如下(注意自己改管理员账号密码):
|
创建文件`/data/pgspostgresql/docker-compose.yml`,内容如下(注意自己改管理员账号密码):
|
||||||
|
|
||||||
|
> `image`一行要用自己编译的镜像名。
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
version: "3.1"
|
version: "3.1"
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: postgres
|
image: wkzz/postgres
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_PASSWORD: wkzz051223
|
POSTGRES_PASSWORD: wkzz051223
|
||||||
@ -36,3 +73,14 @@ services:
|
|||||||
```sh
|
```sh
|
||||||
docker-compose up -d
|
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)
|
||||||
|
```
|
||||||
|
24
docker/配置Docker Hub国内镜像加速.md
Normal file
24
docker/配置Docker Hub国内镜像加速.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# 配置Docker Hub国内镜像加速
|
||||||
|
|
||||||
|
## Ubuntu 16.04+, Debian 8+, CentOS 7
|
||||||
|
|
||||||
|
创建或者修改`/etc/docker/daemon.json`文件:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"registry-mirrors": [
|
||||||
|
"https://registry.docker-cn.com"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
> 可以云阿里云镜像加速服务中获取账号专用的阿里云加速链接,添加到"registry-mirrors"的第一行。
|
||||||
|
|
||||||
|
重启服务:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl restart docker
|
||||||
|
```
|
||||||
|
|
||||||
|
用命令`docker info`可以查看配置是否生效。
|
Loading…
Reference in New Issue
Block a user