【发布时间】:2020-08-20 03:48:38
【问题描述】:
我正在尝试使用 CLI 在 Openshift 中部署新应用。当我使用 GUI 并单击“从 docker 文件构建”时,一切正常。但是当我使用 CLI 时,它不会。
这些是我的仓库中的文件:
Dockerfile
FROM golang:1.11-alpine
RUN mkdir /app
COPY main.go /app
WORKDIR /app
RUN go build -o main .
EXPOSE 8080 8888
USER 1001
ENTRYPOINT ["/app/main"]
main.go
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "<h1>Hello OpenShift! Updated build</h1>")
}
func listenAndServe(port string) {
fmt.Printf("serving on %s\n", port)
err := http.ListenAndServe(":"+port, nil)
if err != nil {
panic("ListenAndServe: " + err.Error())
}
}
func main() {
http.HandleFunc("/", helloHandler)
go listenAndServe("8080")
select {}
}
我正在关注这个article。我已将文件复制到我的私人仓库并使用源密码进行克隆。就像那里提到的那样,我使用了命令和源秘密
oc new-app https://git.abcd.corp.mycompany.com/12345/openshift-trail.git#development --source-secret=my-secret --name=demo-blah
这给了我以下错误
error: unable to load template file "https://git.abcd.corp.mycompany.com/12345/openshift-trail.git#development": error parsing https://git.abcd.corp.mycompany.com/12345/openshift-trail.git#development: error converting YAML to JSON: yaml: line 3: mapping values are not allowed in this context
error: git ls-remote failed with: fatal: unable to access 'https://git.abcd.corp.mycompany.com/12345/openshift-trail.git/': Problem with the SSL CA cert (path? access rights?); local file access failed with: stat https://git.abcd.corp.mycompany.com/12345/openshift-trail.git#development: no such file or directory
error: unable to locate any images in image streams, templates loaded in accessible projects, template files, local docker images with name "https://git.abcd.corp.mycompany.com/12345/openshift-trail.git#development"
Argument 'https://git.abcd.corp.mycompany.com/12345/openshift-trail.git#development' was classified as an image, image~source, or loaded template reference.
The 'oc new-app' command will match arguments to the following types:
1. Images tagged into image streams in the current project or the 'openshift' project
- if you don't specify a tag, we'll add ':latest'
2. Images in the Docker Hub, on remote registries, or on the local Docker engine
3. Templates in the current project or the 'openshift' project
4. Git repository URLs or local paths that point to Git repositories
--allow-missing-images can be used to point to an image that does not exist yet.
根据openshift doco,它说如果 repo 中有 Dockerfile,它应该自动检测它。但是在这里我遇到了一个我无法理解的奇怪错误。非常感谢任何帮助。
【问题讨论】:
标签: openshift openshift-origin