2017-03-09 59 views
0

基本上我嘗試使用泊塢窗具有以下設置和步驟,以瞭解在Win7快捷:Win7上運行由於docker contianer中的「數據庫被鎖定」而導致的swift build faild?

1)物理機安裝在Win7

2)碼頭工人的工具箱1.12.5窗口版本

3)打開「泊塢快速啓動終端」,其是在MINGW64控制檯MINGW64控制檯

4),然「搬運工拉迅速」拉碼頭工人迅速圖像

5)穿心蓮e容器使用「docker run -it --hostname = value --privileged = true --net = host -v // d/dev/tools/docker/swift:// swift:z --name swiftfun 24cc712c0763/bin/bash「,實際上卷映射不起作用。我不能在我的win7主機

迅速版本的文件夾中創建的文件是:

[email protected]:/swift/PerfectTemplate/.build# swift -version 
Swift version 3.0.2 (swift-3.0.2-RELEASE) 
Target: x86_64-unknown-linux-gnu 

Linux的容器是:

[email protected]:/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),然後在容器中運行這個「安裝-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的文件夾

8)創建的文件/文件夾,進入文件夾 「PerfectTemplate」 跑迅速建立,它與下面的消息失敗:

...

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 

...

有我的win7文件夾D:\dev\tools\docker\swift\PerfectTemplate\.build\build.db
和文件大小創建文件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.db變化細微.the大小。它與使用// ip/drive的掛載驅動器有什麼關係? 我該如何解決?謝謝

回答

0

好吧,似乎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-方式構建工具作爲「快速構建」命令的一部分