0

bx dev build我在我的 Node.js 项目文件夹中运行时遇到错误,特别是:

[hafiz@Ubuntu ~/FSFTM/code/TaskListApp] $ sudo bx dev build
Getting service credentials for the project.
OK
OK
Deleting the container named 'tasklistapp-express-tools' ...
Creating image tasklistapp-express-tools based on Dockerfile-tools...
OK                    
Creating a container named 'tasklistapp-express-tools' from that image...
OK
Starting the 'tasklistapp-express-tools' container...
OK
Building the project in the current directory started at Fri Dec 22 22:03:35 2017
FAILED                
Failed to build the project.

Dumping output from the command: 
OCI runtime exec failed: exec failed: container_linux.go:295: starting container process caused "process_linux.go:86: executing setns process caused \"exit status 22\"": unknown

就在这些之前,我跑bx login --ssobx target --cf。无法确切地说出问题是什么,我怀疑这与 Docker 有关。我在 Ubuntu 16.04 上运行它。通过运行安装 idt curl -sL https://ibm.biz/idt-installer | bash。这是bx的版本:

[hafiz@Ubuntu ~/FSFTM/code/TaskListApp] $ bx -v
bx version 0.6.4+41cb1aa-2017-12-19T03:46:07+00:00

不太清楚我应该在其中包括什么,我有点难过。该项目通过运行npm install,npm run buildnpm run start. 如果我知道什么有用,我会提供更多信息!任何人都知道错误的真正含义或者我错过了什么?

根据乔的要求,这是跟踪:

[hafiz@Ubuntu ~/FSFTM/code/TaskListApp] $ bx dev build --trace
Getting service credentials for the project.
[http] 2017/12/25 15:15:52 gorequest.go:1049: HTTP Request: GET /scaffolder/api/generator/02810082-65bd-471d-8a1d-e2cb60dca916/status HTTP/1.1
Host: mobileprojectscaffolder.ng.bluemix.net
Content-Type: application/json

[http] 2017/12/25 15:15:53 gorequest.go:1078: HTTP Response: HTTP/1.1 200 OK
Connection: close
Transfer-Encoding: chunked
Cache-Control: no-cache, no-store, must-revalidate
Content-Language: en-US
Content-Type: application/json
Date: Mon, 25 Dec 2017 07:16:07 GMT
Expires: 0
Pragma: no-cache
X-Backside-Transport: OK OK
X-Global-Transaction-Id: 868943159
X-Powered-By: Servlet/3.0

28
{"status":"NONEXISTENT","messages":null}
0

FAILED
An error occurred while getting the service credentials for the project.
Error: Remote files for this project no longer exist. A new project will have to be generated.

FAILED
An error occurred while getting the service credentials for the project.
Error: Remote files for this project no longer exist. A new project will have to be generated.
Using these variable values:
01: ContainerName string = 
02: ContainerNameRun string = tasklistapp-express-run
03: ContainerNameTools string = tasklistapp-express-tools
04: HostPathRun string = .
05: HostPathTools string = .
06: ContainerPathRun string = /app
07: ContainerPathTools string = /app
08: BuildCmdRun string = npm install
09: BuildCmdDebug string = npm install
10: TestCmd string = npm run test
11: DebugCmd string = npm run debug
12: RunCmd string = 
13: ContainerPortMap string = 3000:3000
14: ContainerPortMapDebug string = 5858:5858
15: ImageNameTools string = tasklistapp-express-tools
16: ImageNameRun string = tasklistapp-express-run
17: DockerfileRun string = Dockerfile
18: DockerfileTools string = Dockerfile-tools
19: ContainerMountsRun []map[string]string = [map[./node_modules_linux:/app/node_modules]]
20: ContainerMountsTools []map[string]string = [map[./node_modules_linux:/app/node_modules]]
21: IsDebug bool = false
22: IsTrace bool = true
23: Version string = 0.0.3
24: DeployTarget string = buildpack
25: IsForce bool = false
26: Language string = 
27: IbmCluster string = 
28: ChartPath string = chart/tasklistapp
29: DockerRegistry string = 
30: GeneratedID string = 02810082-65bd-471d-8a1d-e2cb60dca916
31: CredsFilepath string = server/localdev-config.json, vcap-local.js, credentials.json, localdev-config.json
32: NoOpen bool = false
33: WebAppRoot string = 
34: ContainerShell string = /bin/sh
35: ContainerShellTarget string = tools
Deleting the container named 'tasklistapp-express-tools' ...
Creating image tasklistapp-express-tools based on Dockerfile-tools...
Image will have user hafiz with id 1000 added
Step 1/12 : FROM ibmcom/ibmnode

 ---> 9db33a417145
Step 2/12 : ENV PORT 3000

 ---> Using cache
 ---> 882e62064ece
Step 3/12 : WORKDIR "/app"

 ---> Using cache
 ---> c0584b52956d
Step 4/12 : COPY . /app

 ---> Using cache
 ---> aad43758bec8
Step 5/12 : COPY run-dev /bin

 ---> Using cache
 ---> 742251038857
Step 6/12 : EXPOSE 3000

 ---> Using cache
 ---> 0d2790971939
Step 7/12 : CMD ["/bin/bash"]

 ---> Using cache
 ---> b8774ff51b14
Step 8/12 : ARG bx_dev_user=root

 ---> Using cache
 ---> 151098ec1756
Step 9/12 : ARG bx_dev_userid=1000

 ---> Using cache
 ---> 118442698498
Step 10/12 : RUN BX_DEV_USER=$bx_dev_user

 ---> Using cache
 ---> b697f05b3ff3
Step 11/12 : RUN BX_DEV_USERID=$bx_dev_userid

 ---> Using cache
 ---> 25c4ed895b04
Step 12/12 : RUN if [ $bx_dev_user != "root" ]; then useradd -ms /bin/bash -u $bx_dev_userid $bx_dev_user; fi

 ---> Using cache
 ---> ee1461ba1f16
Successfully built ee1461ba1f16
Successfully tagged tasklistapp-express-tools:latest
OK
Creating a container named 'tasklistapp-express-tools' from that image...
OK
Starting the 'tasklistapp-express-tools' container...
OK
Building the project in the current directory started at Mon Dec 25 15:15:56 2017
Executing command 'cd /app; npm install' on container tasklistapp-express-tools using user hafiz
OCI runtime exec failed: exec failed: container_linux.go:295: starting container process caused "process_linux.go:86: executing setns process caused \"exit status 22\"": unknown
FAILED
Failed to build the project.

FAILED
Failed to build the project.
Stopping the 'tasklistapp-express-tools' container...
OK
4

3 回答 3

0

仅供参考,服务凭证失败对构建无害。

我在你的最后一次看到build你没有使用sudo,那很好。为了进一步调试,您是否尝试过为另一种语言构建项目?例如 Java 或 Swift?到目前为止,我无法重现失败。

谢谢

于 2018-01-03T18:32:41.677 回答
0

bx dev build您尝试使用运行是否有原因sudo?你也跑过bx dev createsudo?这听起来像是权限问题。

错误消息实际上来自 Docker,而不是 IBM Developer Tools 可执行文件的内部: OCI runtime exec failed: exec failed: container_linux.go:295: starting container process caused "process_linux.go:86: executing setns process caused \"exit status 22\"": unknown

于 2018-01-22T19:35:19.867 回答
0

通过一些研究,报告开源问题的第 295 行container_linux.go似乎与用户文件权限相关联。根据您的描述,当您使用自己的用户帐户运行命令时(如您提供的日志中所示),您的系统可能有一些root现在无法访问的文件。我怀疑有些chowns 会让你建设得很好。

供参考

于 2018-01-22T19:38:00.437 回答