我正在嘗試使用docker go 客戶端連接到谷歌容器注冊表以列出和刪除圖像。我的 golang 應用程序也存在于 docker 容器中。這是我的 golang 應用程序的 dockerfile:FROM docker:latestUSER rootRUN apk add --update opensslADD ./data /app/dataADD ./data/docker /app/data/dockerADD mygolangapp /appRUN chmod -R a+rwx ./app/data/docker/generate_docker_cert.shRUN sh ./app/data/docker/generate_docker_cert.shENV GOOGLE_APPLICATION_CREDENTIALS ./app/data/myserviceaccount.jsonENV DOCKER_CONFIG ./app/data/dockerENV DOCKER_CERT_PATH .ENV DOCKER_HOST ????????ENTRYPOINT ["/app/mygolangapp"]這是 generate_docker_cert.sh 文件(https://gist.github.com/bradrydzewski/a6090115b3fecfc25280)這是我的 golang 代碼,用于創建 docker go 客戶端和列表容器。jsonBytes, err := ioutil.ReadFile(os.Getenv("GOOGLE_APPLICATION_CREDENTIALS"))if err != nil { panic(err)}dockercli, err := client.NewEnvClient()if err != nil { panic(err)}dockercli.RegistryLogin(context.Background(), types.AuthConfig{ Username: "_json_key", Password: string(jsonBytes), ServerAddress: "https://eu.gcr.io",})containers, err := dockercli.ContainerList(context.Background(), types.ContainerListOptions{})if err != nil { panic(err)}for _, container := range containers { fmt.Printf("%s %s\n", container.ID[:10], container.Image)}目前我收到此錯誤:error during connect: Get https://%2Fvar%2Frun%2Fdocker.sock/v1.25/containers/json?limit=0: dial tcp: lookup /var/run/docker.sock: no such host所以我在我的 docker-compose 中添加了 docker.sock 作為卷,但它不起作用?mygolangapp: build: ./mygolangapp volumes: - /var/run/docker.sock:/var/run/docker.sock我的問題是:如何在谷歌容器注冊表的 golang 應用程序中使用 docker golang 客戶端。我在這里做錯了什么或錯過了什么?DOCKER_HOST 應該是什么?
- 0 回答
- 0 關注
- 269 瀏覽
添加回答
舉報
0/150
提交
取消