Files
dockerfiles/postgres
Qi Zheng 06124f36f0 Add tag for httpd, mariadb, memcached
and nginx, postgres, ...

Two tags are to be added for each containers.
1. exact app version tag, usually format as x.y.z.
For example, 5.0.6 for redis.
2. major app version tag, usually format as x.
For example, 5 for redis.
For some special cases, the major format as x.y.
For example, 1.17 for nginx, 3.7 for python.

Signed-off-by: Qi Zheng <qi.zheng@intel.com>
2019-11-14 14:34:40 +08:00
..
2019-08-21 09:53:51 +08:00
2019-09-04 17:31:45 +08:00

Clear Linux* OS postgres container image

What is this image?

clearlinux/postgres is a Docker image with postgres running on top of the official clearlinux base image.

PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.

For other Clear Linux* OS based container images, see: https://hub.docker.com/u/clearlinux

Why use a clearlinux based image?

Clear Linux* OS is an open source, rolling release Linux distribution optimized for performance and security, from the Cloud to the Edge, designed for customization, and manageability.

Clear Linux* OS based container images use:

  • Optimized libraries that are compiled with latest compiler versions and flags.
  • Software packages that follow upstream source closely and update frequently.
  • An aggressive security model and best practices for CVE patching.
  • A multi-staged build approach to keep a reduced container image size.
  • The same container syntax as the official images to make getting started easy.

To learn more about Clear Linux* OS, visit: https://clearlinux.org.

Deployment:

Deploy with Docker

The easiest way to get started with this image is by simply pulling it from Docker Hub.

*Note: This container uses the same syntax as the official postgres image.

  1. Pull the image from Docker Hub:

    docker pull clearlinux/postgres
    
  2. Start a container using the examples below:

    docker run -p 5432:5432 -e POSTGRES_PASSWORD=secret -d clearlinux/postgres
    

Deploy with Kubernetes

This image can also be deployed on a Kubernetes cluster, such as minikube.The following example YAML files are provided in the repository as reference for Kubernetes deployment:

Steps to deploy Postgres on a Kubernetes cluster:

  1. Create secret for postgres service.

    kubectl create secret generic postgres-config \
    --from-literal=POSTGRES_DB=<your-postgres-db> \
    --from-literal=POSTGRES_PASSWORD=<your-postgres-pwd> \
    --from-literal=POSTGRES_USER=<your-postgres-user>
    
  2. If you want to deploy postgres-deployment.yaml

    kubectl create -f postgres-deployment.yaml
    

    Or if you want to deploy postgres-deployment-conf.yaml

    kubectl create -f postgres-deployment-conf.yaml
    
  3. Install PostgreSQL bundle and connect to the service, where 30001 is the port number defined in your service.

    swupd bundle-add postgresql
    psql -h<nodeIP> -U<your-postgres-user> --password -p30001 <your-postgres-db>
    

Build and modify:

The Dockerfiles for all Clear Linux* OS based container images are available at https://github.com/clearlinux/dockerfiles. These can be used to build and modify the container images.

  1. Clone the clearlinux/dockerfiles repository.

    git clone https://github.com/clearlinux/dockerfiles.git
    
  2. Change to the directory of the application:

    cd postgres/
    
  3. Build the container image:

    docker build -t clearlinux/postgres .
    

    Refer to the Docker documentation for default build arguments. Additionally:

    • swupd_args - specifies arguments to pass to the Clear Linux* OS software manager. See the swupd man pages for more information.

Licenses

All licenses for the Clear Linux* Project and distributed software can be found at https://clearlinux.org/terms-and-policies