尝试使用 postgres 和 docker:
docker run --name pg -v /Users/xxx/docker/data:/var/lib/postgresql/data -d postgres
Run Code Online (Sandbox Code Playgroud)
立即停止。运行不带 -v 的映像,容器将继续运行。如果我通过 /bin/sh 登录,我可以看到带有 postgres 默认数据库的安装点:
root@f9e0e92dae26:/# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
none 19049892 737424 17321744 5% /
tmpfs 1025332 0 1025332 0% /dev
shm 65536 8 65528 1% /dev/shm
none 116884912 52807056 64077856 46% /var/lib/postgres/data
/dev/sda1 19049892 737424 17321744 5% /var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)
但我无法按照 -v 选项所说的方式与主机共享它们。这是怎么回事?
日志说:
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /var/lib/postgresql/data ... ok
initdb: could not create directory "/var/lib/postgresql/data/pg_wal/archive_status": Permission denied
initdb: removing contents of data directory "/var/lib/postgresql/data"
Run Code Online (Sandbox Code Playgroud)
我尝试将一个额外的共享目录传递给虚拟机,除了 /Users 和 / 之外,在我的例子中是 /Users/xxx/docker/data,重新启动虚拟机,但这似乎不起作用。在虚拟机(docker-machine ssh)中,我现在可以看到 /data 已安装。Docker机器似乎挂载了完整路径的最后一部分。有什么解释吗?因此,也许可以更改官方 postgres 图像(在 dockerfile 中?)以更改基本路径,示例值得赞赏。
L. *_*May 11
在遇到完全相同的错误后,对我有用的是修剪卷。我一开始就不明白为什么没有足够的空间。
在运行以下命令进行任何修剪之前,请务必阅读此处的详细信息: https: //docs.docker.com/config/pruning/#prune-everything
如果您可以忍受修剪卷,这应该可以消除OP的错误:
docker volume prune
Run Code Online (Sandbox Code Playgroud)
编辑:
看来需要修剪的不仅仅是体积。这个答案的早期版本已经解释了这一点,所以我现在再次包含它。
要进行系统修剪,请运行:
docker system prune --volumes
Run Code Online (Sandbox Code Playgroud)
或者,如果你真的想摆脱一切,请运行:
docker system prune --volumes --all
Run Code Online (Sandbox Code Playgroud)
我在 Windows 下使用 Vbox VM 遇到了同样的问题。我尝试在虚拟机和 Windows 操作系统之间使用共享文件夹,这导致了权限问题。我通过从 /home/{username}/.. 传递目录来解决卷的问题
| 归档时间: |
|
| 查看次数: |
5925 次 |
| 最近记录: |