我正在努力学习kong,使用docker-compose,我能够运行kong+konga并创建服务。但是每当我做docker-compose时,我会丢失所有的数据:
kong:
container_name: kong
image: kong:2.1.4-alpine
restart: unless-stopped
networks:
kong-net:
ipv4_address: 172.1.1.40
volumes:
- kong_data:/usr/local/kong/declarative
environment:
KONG_DATABASE: postgres
KONG_PG_HOST: kong-database
KONG_PG_USER: kong
KONG_PG_PASSWORD: password
KONG_ADMIN_LISTEN: "0.0.0.0:8001, 0.0.0.0:8444 ssl"
KONG_DB_UPDATE_FREQUENCY: 1m
KONG_PROXY_ACCESS_LOG: /dev/stdout
KONG_ADMIN_ACCESS_LOG: /dev/stdout
KONG_PROXY_ERROR_LOG: /dev/stderr
KONG_ADMIN_ERROR_LOG: /dev/stderr
depends_on:
- kong-migration
ports:
- "8001:8001"
- "8444:8444"
- "8000:8000"
- "8443:8443"看起来卷映射不起作用。pleasE帮助
发布于 2021-07-18 17:57:45
如果你想在你的kong docker-compose关闭时保留数据,最好在数据库模式下使用kong。
因此,您将为数据库创建一个持久卷,它将保存您所做的更改。
通过kong manual,您会发现支持两种类型的数据库: postgresql和cassandra
Postgresql是我的小项目的选择,因为我不打算使用cassandra数据库进行巨大的水平规模。
正如你将在手册中发现的,使用docker和数据库启动你的项目是非常简单的。但请记住,向您的数据库服务添加一个卷,因为在手册中提到的示例中没有卷。
对于postgresql,您可以在docker run命令中添加:-v /custom/mount:/var/lib/postgresql/data
或
volumes:
postgress-data:
driver: local
services:
postgress:
restart: unless-stopped
image: postgres:latest
environment:
- POSTGRES_USER=your_db_user
- POSTGRES_DB=kong
- POSTGRES_PASSWORD=your_db_password
volumes:
- postgres-data:/var/lib/postgresql/datahttps://stackoverflow.com/questions/68341550
复制相似问题