【发布时间】:2019-12-14 04:20:06
【问题描述】:
我正在将用于 tomcat + postgres 应用程序的 docker-compose 文件迁移到 kubernetes。我的测试环境是启用了 Kubernetes 的 Dockers for Windows。
如果我为 postgres 使用 emptyDir 卷,我可以成功测试我的应用程序,但我无法持久化 postgres 数据。
volumes:
- name: "pgdata-vol"
emptyDir: {}
在 MacOS 上,我可以使用 hostPath 卷保存 postgres 数据。
volumes:
- name: "pgdata-vol"
hostPath:
path: /tmp/vols/pgdata
不幸的是,如果我在 Windows 上尝试相同的解决方案,我会遇到权限错误。这在上一个问题中讨论过。见Kubernetes (in Docker for Windows) Volume Configuration for Postgres。
我不需要通过主机文件系统访问我的卷。我只是希望我的音量从一次运行到下一次运行。在使用以下卷定义运行 docker-compose ... up 和 docker-compose ... down 时,我能够实现此行为。
volumes:
pgdata:
卷参考
environment:
- PGDATA=/pgdata
volumes:
- pgdata:/pgdata
有没有一个好名字可以用来描述这种类型的卷?有没有办法将这种类型的卷翻译成 kubernetes?
【问题讨论】:
标签: kubernetes docker-compose docker-volume