gpt4 book ai didi

docker - 启用卷时无法启动任何容器 Docker 工具箱

转载 作者:行者123 更新时间:2023-12-03 14:53:36 26 4
gpt4 key购买 nike

我在运行 Docker Toolbox v. 1.13.1aWindows 7 Pro Service pack 1 x64操作系统。
Virtual Box Version 5.1.14 r112924
当我尝试运行任何 docker 镜像时,例如official postgres image从 Docker Hub 禁用卷,它工作正常!

但是当我enable the volumes失败 .

我尝试了所有官方文档

VM 已根据需要共享文件夹,并具有 full access对它也
shared folder screenshot

在我的 postgresql 示例中,它会因以下 log 而崩溃

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
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... LOG: could not link file "pg_xlog/xlogtemp.27" to "pg_xlog/000000010000000000000001": Operation not permitted
FATAL: could not open file "pg_xlog/000000010000000000000001": No such file or directory
child process exited with exit code 1
initdb: removing contents of data directory "/var/lib/postgresql/data"

我知道这是 的问题folder permissions .但有点卡住了!
一吨 谢谢提前

最佳答案

我一整天都在忙于这个问题,我的结论是,目前根本不可能在 docker 容器中运行 postgresql,同时将数据保持在单独的卷中。

我什至尝试在不链接到卷的情况下运行容器并将最初在/var/lib/postgresql 中的数据复制到我的主机操作系统(Windows 10 Home)的文件夹中,然后将其复制到该文件夹​​中,然后链接到容器本身。

唉,我得到了下一个错误:

FATAL:  data directory "/var/lib/postgresql/data/pgadmin" has wrong ownership
HINT: The server must be started by the user that owns the data directory.

结论:所有权和拥有它的正确用户存在问题并能够修复它,您需要在 Windows 上有一个能够运行 docker 的 unix 命令行(目前在 Windows 上的 Ubuntu 上使用 Bash 是不可能的)使用 Ubuntu 16.04 二进制文件运行)。

也许,将来,您将能够运行所需的命令(在 here 下找到 Arbitrary --user Notes ),但这些是 *nix 命令,而 powershell(由 Kitematic 启动)无法运行这些命令。适用于 Windows 的 Ubuntu 的 Bash 可以运行这些,但该 shell 与 Windows 上的 docker 守护进程/服务没有连接......

TL;DR:失去了一天的工作:目前在 Windows 上是不可能的。

关于docker - 启用卷时无法启动任何容器 Docker 工具箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43117938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com