docker - 在 Docker 容器中创建目标的规则是什么?
问题描述
要了解如何在 Jenkins 中操作 Docker 映像,我正在阅读此链接。
Docker 中的“目标规则”是什么?下面的简单示例失败了,因为“没有制定目标的规则”。这在 Docker 中意味着什么?
错误和触发错误的代码
sh 'make test'
上面链接中的 Jenkinsfile 中的代码行在以下块内运行时会引发错误 :
testImage.inside {
sh "whoami"
sh 'make test'
}
Jenkins 在尝试解释sh 'make test'
代码行时抛出的实际错误是:
make test— Shell Script<1s
[ple-dockere-containered-app-WWNVRTE6XFKMI4JPEVK2F2U3HOGDZICATW6XBFM2IQUW5PAG5FWA] Running shell script
+ make test
make: *** No rule to make target 'test'. Stop.
完整Jenkinsfile
的是:
node {
// Clean workspace before doing anything
deleteDir()
try {
stage ('Clone') {
checkout scm
}
stage ('Build') {
def testImage = docker.build("test-image", "./app")
testImage.inside {
sh "whoami"
sh 'make test'
}
}
} catch (err) {
currentBuild.result = 'FAILED'
throw err
}
}
请注意,该make test
命令正在容器内运行。
解决方案
推荐阅读
- r - 代理背后的 RSelenium
- python - 参考新单元格在openpyxl中复制样式
- c++ - 如何在 Mac 上找到实际的 Clang 版本?
- php - 谁能看到这个 PHP PDO 语句有什么问题
- node.js - Node.js:如何使用 .read() 从流中读取数据
- data-visualization - Qlikview 中的“加载”语句是否不允许对字段进行多个顺序操作?
- hadoop-yarn - 请解释 Flink on YARN 的详细信息
- swift - 如何删除字符串中的某些字符?
- c# - Control.InvokeRequired - 服从竞争条件
- c++ - 为什么使用标准类型作为模板参数?