How to create volumes and deploy Postgresql and pgAdmin
mkdir -p /disk1/postgres_data
mkdir -p /disk2/postgres_backup
chmod -R 777 /disk1/postgres_data
chmod -R 777 /disk2/postgres_backup
Docker Swarm deployment manifest
version: "3.8"
services:
postgres:
image: postgres:15
deploy:
placement:
constraints:
- "node.hostname == swarmnode1"
volumes:
- /disk1/postgres_data:/var/lib/postgresql/data
- /disk2/postgres_backup:/backup
environment:
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
POSTGRES_DB: mydatabase
networks:
- my_network
ports:
- "5432:5432"
pgadmin:
image: dpage/pgadmin4
deploy:
placement:
constraints:
- "node.hostname == swarmnode1"
volumes:
- pgadmin_data:/var/lib/pgadmin
environment:
PGADMIN_DEFAULT_EMAIL: admin@example.com
PGADMIN_DEFAULT_PASSWORD: adminpassword
ports:
- "7676:80"
networks:
- my_network
networks:
my_network:
driver: overlay
volumes:
pgadmin_data: