运维开发网

启用卷时,无法启动任何容器Docker Toolbox

运维开发网 https://www.qedev.com 2020-06-17 16:35 出处:网络 作者:运维开发网整理
我在 Windows 7 Pro Service Pack 1 x64OS上运行Docker Toolbox v.1.13.3a. 使用Virtual Box版本5.1.14 r112924 当我尝试运行任何泊坞窗图像时,例如来自Docker Hub的官方postgres图像,禁用了卷,它工作正常! 但是当我启用卷时它会失败. 我尝试了所有官方文件 VM根据需要具有共享文件夹,并且还具有对其的完全
我在 Windows 7 Pro Service Pack 1 x64OS上运行Docker Toolbox v.1.13.3a.

使用Virtual Box版本5.1.14 r112924

当我尝试运行任何泊坞窗图像时,例如来自Docker Hub的官方postgres图像,禁用了卷,它工作正常!

但是当我启用卷时它会失败.

我尝试了所有官方文件

VM根据需要具有共享文件夹,并且还具有对其的完全访问权限

shared folder screenshot

在我的postgresql示例的情况下,它崩溃与以下日志

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"

我知道文件夹权限的问题.但有点卡住了!

提前一点谢谢

我一直忙于解决这个问题而且我的结论是,目前根本不可能在一个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.

总结:所有权和拥有它的正确用户出现了问题,并且能够修复它,你需要一个能够运行docker的Windows上的unix命令行(目前在Windows上的Ubuntu上无法使用Bash)正在使用Ubuntu 16.04二进制文件运行).

也许,在将来,你将能够运行所需的命令(在Arbitrary –user Notes下找到here),但这些是* nix命令和powershell(由Kitematic启动)无法运行那些命令. Ubuntu for Windows的Bash可以运行那些,但是这个shell没有连接到windows上的docker守护进程/服务……

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

0

精彩评论

暂无评论...
验证码 换一张
取 消