由于数据库被locking在docker contianer中,swift生成faild?

基本上我正在尝试使用以下设置和步骤在Docker中使用Docker快速学习:

1)在win7上运行物理机器

2)docker toolbox 1.12.5安装在win7的窗口版本

3)打开“Docker快速入门terminal”,这是一个MINGW64控制台

4)在MINGW64控制台中,运行“docker pull swift”来拖拽一个docker的快速映像

5)使用“ docker run -it –hostname = value –privileged = true –net = host -v // d / dev / tools / docker / swift:// swift:z –name创build容器swiftfun 24cc712c0763 / bin / bash “,实际上卷映射不起作用。 我无法在我的win7主机的文件夹中创build文件

迅捷版是:

root@value:/swift/PerfectTemplate/.build# swift -version Swift version 3.0.2 (swift-3.0.2-RELEASE) Target: x86_64-unknown-linux-gnu 

linux的容器是:

 root@value:/swift/PerfectTemplate/.build# cat /etc/*release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS" NAME="Ubuntu" VERSION="16.04.2 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.2 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=xenial UBUNTU_CODENAME=xenial 

6)然后在容器中运行“ mount -t cifs //10.xxxxx/D$/dev/tools/docker/swift/swift -o username = myusername,password = mypassword,noperm ”,这个时间工作,我可以看到文件在我的win7文件夹中,并可以写入文件到win7。

7)转到容器中的文件夹“/ swift”,并从git中获取代码,如http://perfect.org/docs/gettingStarted.html所示。 我可以看到在win7文件夹中创build的文件/文件夹

8)在容器中,进入文件夹“PerfectTemplate”并运行快速构build,失败,出现以下消息:

 Cloning https://github.com/PerfectlySoft/Perfect-Thread.git HEAD is now at aee3b32 Cleanup Resolved version: 2.0.9 <unknown>:0: error: unable to attach DB: unable to initialize database (database is locked) error: exit(1): /usr/bin/swift-build-tool -f /swift/PerfectTemplate/.build/debug .yaml 

有一个文件build.db创build在我的win7文件夹D:\dev\tools\docker\swift\PerfectTemplate\.build\build.db
并且文件大小保持为0字节

以下是来自大楼的详细信息:

 /usr/bin/swiftc --driver-mode=swift -I /usr/lib/swift/pm -L /usr/lib/swift/pm -l PackageDescription /swift/PerfectTemplate/Packages/PerfectThread-2.0.9/Package.s wift -fileno 4 /usr/bin/swift-build-tool -f /swift/PerfectTemplate/.build/debug.yaml -v <unknown>:0: error: unable to attach DB: unable to initialize database (database is locked) error: exit(1): /usr/bin/swift-build-tool -f /swift/PerfectTemplate/.build/debug .yaml -v 

如果我使用Linux本地文件夹来build立代码,那么一切工作正常。build.db的大小改变。 它有什么关系挂载驱动器使用/ ip /驱动器? 我该如何解决? 谢谢

好吧,似乎sqlite是不容忍映射在容器中的Windows文件夹。 我尝试使用// ip /文件夹方法和virtualbox共享文件夹方法映射文件夹。 他们都没有工作。 似乎它与winLockFile有关,请检查下面的链接

http://sqlite.1065341.n5.nabble.com/SQLite3-database-on-windows-network-drive-and-unreliable-connection-td75875.html

https://www.sqlite.org/whentouse.html

我也检查了swift包pipe理器的源代码,似乎没有办法在swift-build-tool中添加选项作为“swift build”命令的一部分