Container used to provide postgresql transactional database on fedora / centos / redhat
10K+
Startx postgres is a base container used for database services published in Dockerhub registry. This container contain :
:latest and :devel flavour.You can use Startx Postgresql image in many ways :
See more databases builders and sample on startx docker images repository
If you want to be guided on setting-up and installing various containers engines (docker, podman, s2i, dockerEE, kubernetes, openshift) you can read ours containers engines guidelines.
docker run -it -p 9241:5432 --name="example-postgres" startx/sv-postgres
pgsql -h localhost -P 9241
docker-compose.yml file with the following contentpostgres:
image: startx/sv-postgres:latest
container_name: "example-postgres"
pgsql -h localhost -P 9241
docker-compose up -d
docker-compose logs
Openshift cluster administrator can offer this image and all its flavour to all consumers.
You can import our openshift images stream
in your openshift project.
You must be cluster-admin to add this image to the openshift project. If not, you can add it to your own
project (skip the oc project openshift command in the next script)
# swith to the openshift project
oc project openshift
# Add image streams to the service catalog (project or cluster-wide scope)
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/Services/postgres/openshift-imageStreams.yml
Openshift cluster administrator can add 2 build and deploy template to their consumers.
As an administrator, you can import our openshift ephemeral builder template
as well as our openshift persistent builder template
in your openshift project.
You must be cluster-admin to add this image to the openshift project. If not, you can add it to your own
project (skip the oc project openshift command in the next script)
# swith to the openshift project
oc project openshift
# Add this ephemeral template to the service catalog (project or cluster-wide scope)
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/Services/postgres/openshift-template-build.yml
# Add this persistent template to the service catalog (project or cluster-wide scope)
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/Services/postgres/openshift-template-build-persistent.yml
You can then build a database
# create an example project
oc new-project example
# start a new ephemeral database
oc process -f startx-postgres-build-template \
-p APP_NAME=mydb-e \
| oc create -f -
# start a new persistent database
oc process -f startx-postgres-build-persist-template \
-p APP_NAME=mydb-p \
| oc create -f -
Openshift cluster administrator can add a deploy template to their consumers.
As an administrator, you can import our openshift deploy template
as well as our openshift persistent deploy template
in your openshift project.
You must be cluster-admin to add this image to the openshift project. If not, you can add it to your own
project (skip the oc project openshift command in the next script)
# swith to the openshift project
oc project openshift
# Add this ephemeral template to the service catalog (project or cluster-wide scope)
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/Services/postgres/openshift-template-deploy.yml
# Add this persistent template to the service catalog (project or cluster-wide scope)
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/Services/postgres/openshift-template-deploy-persistent.yml
You can then deploy a database
# create a example project
oc new-project example
# start a new ephemeral database
oc process -f startx-postgres-deploy-template \
-p APP_NAME=mydb-e \
| oc create -f -
# start a new persistent database
oc process -f startx-postgres-deploy-persist-template \
-p APP_NAME=mydb-p \
| oc create -f -
Create your local project (skip if you already are in a project diretory with a run bash script)
# Create a project directory
mkdir example-project
cd example-project
# create a run script
cat << "EOF"
DROP TABLE IF EXISTS `sample`;
CREATE TABLE `sample` (
`id` int(4) unsigned NOT NULL AUTO_INCREMENT,
`key` varchar(128) NOT NULL DEFAULT '',
`val` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `key` (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `sample` VALUES (1,'version','0.0.1');
EOF > schema-sample.sql
Then you can use this image as an s2i builder image
# With your current directory database code
s2i build . startx/sv-postgres:latest startx-postgres-mydb
docker run --rm -d -p 9241:5432 startx-postgres-mydb
# With startx database sample code repository
s2i build https://github.com/startxfr/docker-images-example-postgres startx/sv-postgres startx-postgres-sample
docker run --rm -d -p 9241:5432 startx-postgres-sample
You can use this Dockerfile template to start a new personalized container based on this container. Create a file named Dockerfile in your project directory and copy this content inside. See docker guide for instructions on how to use this file.
FROM startx/sv-postgres:latest
#... your container specifications
| Variable | Type | Default | Description |
|---|---|---|---|
| SX_VERSION | string | latest | container version |
| SX_TYPE | string | service | Container family (os, service, application). could be enhanced |
| SX_SERVICE | string | postgres | Define the type of service or application provided |
| SX_ID | auto | startx/sv-postgres | Container ID coresponding to the image repository |
| SX_NAME | auto | yes | Container name |
| SX_SUMMARY | auto | yes | Container purpose description |
| SX_VERBOSE | bool | no | Display information about the execution |
| SX_DEBUG | bool | no | Display debug informations during execution |
| APP_PATH | string | /app | Path to the application |
| LOG_PATH | string | /var/log/httpd | Destination path to the log produced by the webserver |
| LOADSQL_PATH | string | /tmp/sql | Path for sql script to use when initializing database |
| SX_S2IDIR | string | /tmp | Destination path to the application pushed via s2i process |
You can contribute or start this container initiative locally. Follow theses instructions to setup a working environment.
This section will help you if you want to :
dockercd Services/postgresdocker build -t startx-postgres .docker run -it startx-postgres. If you add a second parameter (like /bin/bash) to will run this command instead of the default entrypoint. Usefull to interact with this container (ex: /bin/bash, /bin/ps -a, /bin/df -h,...)docker run -d -p 9241:5432 startx-postgresdocker-composecd Services/postgresdocker-compose up Startup logs appears and escaping this command stop the containerdocker-compose up -d. Container startup logs can be read using docker-compose logsContent type
Image
Digest
sha256:ce2e9088d…
Size
139.8 MB
Last updated
over 1 year ago
docker pull startx/sv-postgres