Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0df12e9929 | |||
| d7d066a867 | |||
| e22d382418 | |||
| 25ca6290ef | |||
| dcb4bd8382 | |||
| 9d35c73a1a | |||
| 9db20580c4 | |||
| 1b1afd9ab4 | |||
| b81c024501 |
+2
-2
@@ -16,7 +16,7 @@
|
||||
# 该部分变量,在编译命令中通过 `--build-arg` 传入;如果未设置,则使用下面对应的默认值
|
||||
|
||||
ARG APP_NAME=postgresql # 设置当前应用名称
|
||||
ARG APP_VER=15.4 # 设置当前应用版本
|
||||
ARG APP_VER=13.12 # 设置当前应用版本
|
||||
ARG REGISTRY_URL="docker.colovu.com/" # 设置默认仓库地址,默认为本地仓库;定义时需要包含末尾的`/`
|
||||
ARG APT_SOURCE=aliyun # 设置 apt-get 源:default / ustc / aliyun
|
||||
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; \
|
||||
appName="${APP_NAME}-${APP_VER}.tar.gz"; \
|
||||
sha256="0e11eee723dd7e59a634052bc1bfc9be605e55c1cca3f66e9fc25d3a394fb030"; \
|
||||
sha256="3aef84ff557087bd01df4365a7a85e11678faa55ab6fb6c4283d57e41997a80c"; \
|
||||
[ -n ${LOCAL_URL} ] && localURL=${LOCAL_URL}/${APP_NAME}; \
|
||||
appUrls="${localURL:-} \
|
||||
https://ftp.postgresql.org/pub/source/v${APP_VER} \
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
**版本信息:**
|
||||
|
||||
- 15.4
|
||||
- 13
|
||||
|
||||
**镜像信息:**
|
||||
|
||||
* 镜像地址:
|
||||
- 阿里云: registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:latest
|
||||
- Colovu Registry: docker.colovu.com/colovu/postgresql:latest
|
||||
- 阿里云: registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:13
|
||||
- Colovu Registry: docker.colovu.com/colovu/postgresql:13
|
||||
- 依赖镜像:colovu/debian:12
|
||||
|
||||
> 后续相关命令行默认使用 Aliyun ACR 镜像服务器做说明
|
||||
@@ -25,7 +25,7 @@ Docker 快速启动命令:
|
||||
|
||||
```shell
|
||||
# 从 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:13
|
||||
```
|
||||
|
||||
- `registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:<TAG>`:镜像名称及版本标签 TAG;标签不指定时默认使用最新版本
|
||||
@@ -101,7 +101,7 @@ services:
|
||||
#### 通过默认方式启动
|
||||
|
||||
```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:13
|
||||
```
|
||||
|
||||
- 由容器执行默认的`entry.sh`脚本,并生成默认的用户及数据文件
|
||||
@@ -120,10 +120,8 @@ version: '3.8'
|
||||
services:
|
||||
|
||||
db:
|
||||
image: registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:latest
|
||||
image: registry.cn-shenzhen.aliyuncs.com/colovu/postgresql:13
|
||||
restart: always
|
||||
ports:
|
||||
- 5432:5432
|
||||
environment:
|
||||
PG_PASSWORD: example
|
||||
```
|
||||
@@ -266,19 +264,19 @@ TLS 加密使用的相关秘钥文件,默认存放在容器的`/srv/postgresql
|
||||
|
||||
```shell
|
||||
$ # 获取配置文件模板,存储为当前目录的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:13 cat /usr/local/postgresql/share/postgresql.conf.sample > my-postgres.conf
|
||||
|
||||
$ # 个性化修改配置信息,至少增加`listen_addresses='*'`以确保其他容器可以访问
|
||||
$ 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:13 -c 'config_file=/etc/postgresql/postgresql.conf'
|
||||
```
|
||||
|
||||
- 在命令行中设置相应参数。`entry.sh`基本会将所有的启动时传递给 Docker 的配置参数传递给 Postgres 服务进程。从官方 [docs](https://www.postgresql.org/docs/current/static/app-postgres.html)文档可以看出,所有在 `.conf`文件中的配置项都可以使用`-c`进行设置。
|
||||
|
||||
```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:13 -c 'shared_buffers=256MB' -c 'max_connections=200'
|
||||
```
|
||||
|
||||
> 注意:配置文件至少修改`listen_addresses='*'`以确保其他容器可以访问
|
||||
@@ -330,7 +328,7 @@ ALLOW_ANONYMOUS=yes
|
||||
通过配置环境变量`PG_PASSWORD`,可以启用基于密码的用户认证功能。命令行使用参考:
|
||||
|
||||
```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:13
|
||||
```
|
||||
|
||||
使用 Docker-Compose 时,`docker-compose.yml`应包含类似如下配置:
|
||||
@@ -362,7 +360,9 @@ services:
|
||||
|
||||
## 更新记录
|
||||
|
||||
- 2023/8/17: 变更应用版本为 v15.4
|
||||
- 2023/8/17: 变更应用版本为 v13.12
|
||||
- 2023/8/17: 变更应用版本为 v13.11
|
||||
- 2021/1/1 (1.0): 初始版本
|
||||
|
||||
## 参考
|
||||
|
||||
|
||||
Reference in New Issue
Block a user