8 Commits

3 changed files with 13 additions and 13 deletions
+2 -2
View File
@@ -16,7 +16,7 @@
# 该部分变量,在编译命令中通过 `--build-arg` 传入;如果未设置,则使用下面对应的默认值 # 该部分变量,在编译命令中通过 `--build-arg` 传入;如果未设置,则使用下面对应的默认值
ARG APP_NAME=postgresql # 设置当前应用名称 ARG APP_NAME=postgresql # 设置当前应用名称
ARG APP_VER=15.4 # 设置当前应用版本 ARG APP_VER=14.9 # 设置当前应用版本
ARG REGISTRY_URL="docker.colovu.com/" # 设置默认仓库地址,默认为本地仓库;定义时需要包含末尾的`/` ARG REGISTRY_URL="docker.colovu.com/" # 设置默认仓库地址,默认为本地仓库;定义时需要包含末尾的`/`
ARG APT_SOURCE=aliyun # 设置 apt-get 源:default / ustc / aliyun ARG APT_SOURCE=aliyun # 设置 apt-get 源:default / ustc / aliyun
ARG LOCAL_URL="http://local.colovu.com/dist" # 编译镜像时指定用于加速的本地软件包存储服务器地址 ARG LOCAL_URL="http://local.colovu.com/dist" # 编译镜像时指定用于加速的本地软件包存储服务器地址
@@ -40,7 +40,7 @@ RUN install_pkg bison flex libedit-dev libxml2-dev libxslt-dev zlib1g-dev librea
# 下载并解压软件包 # 下载并解压软件包
RUN set -eux; \ RUN set -eux; \
appName="${APP_NAME}-${APP_VER}.tar.gz"; \ appName="${APP_NAME}-${APP_VER}.tar.gz"; \
sha256="0e11eee723dd7e59a634052bc1bfc9be605e55c1cca3f66e9fc25d3a394fb030"; \ sha256="d2a6f490e7a070220d19935a1a3cccb2d472ce89d8740b6c5a03df4351e08ba7"; \
[ -n ${LOCAL_URL} ] && localURL=${LOCAL_URL}/${APP_NAME}; \ [ -n ${LOCAL_URL} ] && localURL=${LOCAL_URL}/${APP_NAME}; \
appUrls="${localURL:-} \ appUrls="${localURL:-} \
https://ftp.postgresql.org/pub/source/v${APP_VER} \ https://ftp.postgresql.org/pub/source/v${APP_VER} \
+11 -11
View File
@@ -8,13 +8,13 @@
**版本信息:** **版本信息:**
- 15.4 - 14
**镜像信息:** **镜像信息:**
* 镜像地址: * 镜像地址:
- 阿里云: registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:latest - 阿里云: registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:14
- Colovu Registry: docker.colovu.com/colovu/postgresql:latest - Colovu Registry: docker.colovu.com/colovu/postgresql:14
- 依赖镜像:colovu/debian:12 - 依赖镜像:colovu/debian:12
> 后续相关命令行默认使用 Aliyun ACR 镜像服务器做说明 > 后续相关命令行默认使用 Aliyun ACR 镜像服务器做说明
@@ -25,7 +25,7 @@ Docker 快速启动命令:
```shell ```shell
# 从 Registry 服务器下载镜像并启动 # 从 Registry 服务器下载镜像并启动
$ docker run -d -e ALLOW_ANONYMOUS=yes --name postgres docker.colovu.com/colovu/postgresql:latest $ docker run -d -e ALLOW_ANONYMOUS=yes --name postgres docker.colovu.com/colovu/postgresql:14
``` ```
- `registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:<TAG>`:镜像名称及版本标签 TAG;标签不指定时默认使用最新版本 - `registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:<TAG>`:镜像名称及版本标签 TAG;标签不指定时默认使用最新版本
@@ -101,7 +101,7 @@ services:
#### 通过默认方式启动 #### 通过默认方式启动
```shell ```shell
$ docker run --name some-postgres -e PG_PASSWORD=mysecretpassword -d -p 5432:5432 registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:latest $ docker run --name some-postgres -e PG_PASSWORD=mysecretpassword -d -p 5432:5432 registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:14
``` ```
- 由容器执行默认的`entry.sh`脚本,并生成默认的用户及数据文件 - 由容器执行默认的`entry.sh`脚本,并生成默认的用户及数据文件
@@ -120,7 +120,7 @@ version: '3.8'
services: services:
db: db:
image: registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:latest image: registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:14
restart: always restart: always
ports: ports:
- 5432:5432 - 5432:5432
@@ -266,19 +266,19 @@ TLS 加密使用的相关秘钥文件,默认存放在容器的`/srv/postgresql
```shell ```shell
$ # 获取配置文件模板,存储为当前目录的my-postgres.conf $ # 获取配置文件模板,存储为当前目录的my-postgres.conf
$ docker run -i --rm registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:latest cat /usr/local/postgresql/share/postgresql.conf.sample > my-postgres.conf $ docker run -i --rm registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:14 cat /usr/local/postgresql/share/postgresql.conf.sample > my-postgres.conf
$ # 个性化修改配置信息,至少增加`listen_addresses='*'`以确保其他容器可以访问 $ # 个性化修改配置信息,至少增加`listen_addresses='*'`以确保其他容器可以访问
$ echo "listen_addresses='*'" >> my-postgres.conf $ echo "listen_addresses='*'" >> my-postgres.conf
$ # 使用定制后的配置文件启动容器 $ # 使用定制后的配置文件启动容器
$ docker run -d --name some-postgres -v "$PWD/my-postgres.conf":/etc/postgresql/postgresql.conf -e POSTGRES_PASSWORD=mysecretpassword registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:latest -c 'config_file=/etc/postgresql/postgresql.conf' $ docker run -d --name some-postgres -v "$PWD/my-postgres.conf":/etc/postgresql/postgresql.conf -e POSTGRES_PASSWORD=mysecretpassword registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:14 -c 'config_file=/etc/postgresql/postgresql.conf'
``` ```
- 在命令行中设置相应参数。`entry.sh`基本会将所有的启动时传递给 Docker 的配置参数传递给 Postgres 服务进程。从官方 [docs](https://www.postgresql.org/docs/current/static/app-postgres.html)文档可以看出,所有在 `.conf`文件中的配置项都可以使用`-c`进行设置。 - 在命令行中设置相应参数。`entry.sh`基本会将所有的启动时传递给 Docker 的配置参数传递给 Postgres 服务进程。从官方 [docs](https://www.postgresql.org/docs/current/static/app-postgres.html)文档可以看出,所有在 `.conf`文件中的配置项都可以使用`-c`进行设置。
```shell ```shell
$ docker run -d --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:latest -c 'shared_buffers=256MB' -c 'max_connections=200' $ docker run -d --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:14 -c 'shared_buffers=256MB' -c 'max_connections=200'
``` ```
> 注意:配置文件至少修改`listen_addresses='*'`以确保其他容器可以访问 > 注意:配置文件至少修改`listen_addresses='*'`以确保其他容器可以访问
@@ -330,7 +330,7 @@ ALLOW_ANONYMOUS=yes
通过配置环境变量`PG_PASSWORD`,可以启用基于密码的用户认证功能。命令行使用参考: 通过配置环境变量`PG_PASSWORD`,可以启用基于密码的用户认证功能。命令行使用参考:
```shell ```shell
$ docker run -d -e PG_USERNAME=postgres -e PG_PASSWORD=colovu registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:latest $ docker run -d -e PG_USERNAME=postgres -e PG_PASSWORD=colovu registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:14
``` ```
使用 Docker-Compose 时,`docker-compose.yml`应包含类似如下配置: 使用 Docker-Compose 时,`docker-compose.yml`应包含类似如下配置:
@@ -362,7 +362,7 @@ services:
## 更新记录 ## 更新记录
- 2023/8/17: 变更应用版本为 v15.4 - 2023/8/17: 变更应用版本为 v14.9
## 参考 ## 参考