Postgresql docker compose相当于kubernetes部署
我在下面有一个自定义docker-compose.yml文件。我为我的postgres集群创建了一个Postgresql docker compose相当于kubernetes部署,postgresql,docker,kubernetes,docker-compose,microk8s,Postgresql,Docker,Kubernetes,Docker Compose,Microk8s,我在下面有一个自定义docker-compose.yml文件。我为我的postgres集群创建了一个 services: pg-master: build: '.' restart: 'always' environment: POSTGRES_USER: 'postgres' POSTGRES_PASSWORD: 'postgres' PGDATA: '/var/lib/postgresql/data/pgdata' v
services:
pg-master:
build: '.'
restart: 'always'
environment:
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: 'postgres'
PGDATA: '/var/lib/postgresql/data/pgdata'
volumes:
- ./postgres-data:/var/lib/postgresql/data
ports:
- '5432:5432'
pg-slave:
build: '.'
restart: 'always'
environment:
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: 'postgres'
PGDATA: '/var/lib/postgresql/data/pgdata'
REPLICATE_FROM: 'pg-master'
volumes:
- ./postgres-data:/var/lib/postgresql/data
ports:
- '5432:5432'
links:
- 'pg-master'
无论我何时编写docker-compose
,它都可以正常工作。我可以查看并测试我的数据库是否被复制
但是,我不知道如何编写一个与之相当的部署yml。
我的目标是确保输出相同
我在我的树莓皮4和3中使用了microk8s。你可以考虑使用
Kompose
。这在本书中有很好的描述。您可以在此处找到有关如何安装或如何使用的信息:
version: "2"
services:
pg-master:
image: postgres
build: '.'
restart: 'always'
environment:
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: 'postgres'
PGDATA: '/var/lib/postgresql/data/pgdata'
volumes:
- ./postgres-data:/var/lib/postgresql/data
ports:
- "5432:5432"
pg-slave:
build: '.'
restart: 'always'
environment:
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: 'postgres'
PGDATA: '/var/lib/postgresql/data/pgdata'
REPLICATE_FROM: 'pg-master'
volumes:
- ./postgres-data:/var/lib/postgresql/data
ports:
- "5432:5432"
links:
- 'pg-master'
输出:
$ kompose --file docker-compose.yml convert
WARN Volume mount on the host "./postgres-data" isn't supported - ignoring path on the host
WARN Volume mount on the host "./postgres-data" isn't supported - ignoring path on the host
INFO Kubernetes file "pg-master-service.yaml" created
INFO Kubernetes file "pg-slave-service.yaml" created
INFO Kubernetes file "pg-master-deployment.yaml" created