From 500b9af62d6c20009cc5a54a974b0f7ad645009b Mon Sep 17 00:00:00 2001 From: Aaron Chen Date: Mon, 20 Mar 2023 13:56:21 +0800 Subject: [PATCH] =?UTF-8?q?docker=E9=83=A8=E7=BD=B2postgres=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0zh=5FCN.utf8=E6=94=AF=E6=8C=81=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E9=85=8D=E7=BD=AE=E5=9B=BD=E5=86=85docker=20?= =?UTF-8?q?hub=E5=8A=A0=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/docker部署postgres数据库服务.md | 50 +++++++++++++++++++++++++++- docker/配置Docker Hub国内镜像加速.md | 24 +++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 docker/配置Docker Hub国内镜像加速.md diff --git a/db/docker部署postgres数据库服务.md b/db/docker部署postgres数据库服务.md index da3f816..c2bc3ea 100644 --- a/db/docker部署postgres数据库服务.md +++ b/db/docker部署postgres数据库服务.md @@ -1,5 +1,7 @@ # docker部署postgres数据库服务 +> 本文同时实现按中文拼音排序(将默认语言环境设置为zh_CN.utf8) + 基于docker和docker-compose,操作前要先安装这两个服务和工具。 ## 创建存储目录 @@ -10,15 +12,50 @@ 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`,内容如下(注意自己改管理员账号密码): +> `image`一行要用自己编译的镜像名。 + ```yml version: "3.1" services: db: - image: postgres + image: wkzz/postgres restart: always environment: POSTGRES_PASSWORD: wkzz051223 @@ -36,3 +73,14 @@ services: ```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) +``` diff --git a/docker/配置Docker Hub国内镜像加速.md b/docker/配置Docker Hub国内镜像加速.md new file mode 100644 index 0000000..1bade90 --- /dev/null +++ b/docker/配置Docker Hub国内镜像加速.md @@ -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`可以查看配置是否生效。