草庐IT

docker命令

全部标签

go - 如何让每个眼镜蛇命令解析自己的标志?获取初始化循环(预期,但如何避免?)

我正在按照https://github.com/spf13/cobra#flags上的指南进行操作,但我对那里的一些内容感到困惑。我有一些服务(restapi、电子邮件服务、事件),我正在尝试做这样的事情:gorun*.gorest-envDEV-p3000gorun*.goevents-envDEV-p3001我正在关注github页面,所以我定义了我的rootCmd和restCmd:varrootCmd=&cobra.Command{Use:"myappname",}varrestCmd=&cobra.Command{Use:"rest",Short:"RESTAPI",Long:

带有 Go cli 项目的 Docker

我使用了以下按预期工作的docker文件该项目是一个cli,当我运行命令dockerrun-itcli我从cli中得到错误(这没关系,因为入口点正在运行fzrENTRYPOINT["./fzr”])通常我在我的机器上运行fzr-help或fzrversion等我希望当我使用像dockerrun-itcli这样的命令时,我将能够在容器内运行命令比如fzr-help和fzrversion,我该怎么做?FROMgolang:1.10.5ASbuild-envADDhttps://github.com/golang/dep/releases/download/v0.4.2/dep-linux-

docker - Golang Docker API : get events

我想通过golang集成从docker获取所有新事件。问题是它返回两个channel,我不知道如何订阅它们。cli,err:=client.NewClientWithOpts(client.WithVersion("1.37"))iferr!=nil{panic(err)}ctx,_:=context.WithCancel(context.Background())msg,err:= 最佳答案 有很多解决方案。解决方案可能是:msgs,errs:=cli.Events(ctx,types.EventsOptions{})for{se

go - 使用 os/exec 命令从 Windows 交叉编译到 Linux

标题基本上就是这么说的。我知道我能做到setGOOS=linuxsetGOARCH=amd64在gobuild之前在cmd中,但我正在尝试编写一个构建脚本并使用exec.Command完成所有操作。我的gobuild-oetc与exec.Command(它构建)一起工作,但是在执行以下任一命令后在测试脚本中打印GOOS时:cmd:=exec.Command("set","GOOS=linux")//ORcmd:=exec.Command("setGOOS=linux")我得到了windows。有什么想法吗?谢谢! 最佳答案 我强烈建

go - 从 dockerize golang 模板中的文件内容设置变量

我想在dockerize中使用jsonQuery语法解析traefik的acme.json并为另一个服务中的TLS设置发出证书/key文件。jsonQuery接受一个字符串,该示例将其作为环境变量{{.Env.myJson}}如何获取文件的字符串内容:{{with$myJsonContent:=}}#extractkeytofile{{end}} 最佳答案 Go的text/template本身并不支持。它lookslikedockerize工具providesacoupleofextensionfunctions但他们也不允许这样做

git - 在 dockerfile 中的 go build 命令中注入(inject)或插入多个 ENV 变量

我正在使用dockerfile来构建go代码,并且我试图在-ldflags选项中传递3个选项。其中两个标志来自ENV变量,我必须通过字符串插值或连接将它们注入(inject)-ldflags内容,但我不知道如何。目标是在main.go的两个变量中注入(inject)gitrevisionhash和当前时间戳可以通过creatingafilefromdockerfile来完成使用“echo”命令,但我想确保使用简单的变量插值/连接是不可能的ENVGIT_REVISION$(gitrev-parse--shortHEAD)ENVCOMPILATION_TIMESTAMP$(date+%Y%

docker - 为什么 "go build"对我的 Docker 项目失败?

我有一个npm二进制文件,我想打包到Docker容器中。我有这样的配置:#DockerimagefortheMongoStitchcommandFROMgolang:alpine#DoasystemupdateRUNapkupdateRUNapkaddgit#DeclarebasedirWORKDIR/root#TheconsolebinaryforMongoStitchRUNgitclonehttps://github.com/10gen/stitch-cli.gitWORKDIR/root/stitch-cliRUNgobuildCMD["/bin/sh"]我收到这个错误:main

docker-compose up 不构建

我正在尝试使用docker-compose构建和运行golang应用程序。这是我的设置:./docker/Dockerfile./main.goMakefile生成文件compose:envGOOS=linuxGOARCH=amd64GOARM=7gobuildcddocker&&docker-composeup./docker/DockerfileFROMgolang:1.11COPYapp.CMD["./app"]./docker/docker-compose.ymlversion:'3'services:app:build:context:../dockerfile:./dock

Docker-entrypoint.sh 为带有 golang 的 ARM 镜像生成 "not found"

我的问题是在ARMarch系统(带有Raspbian的RaspberryPI)上运行我的容器时出现错误。图像是建立在同一个覆盆子上的。这是我的dockerfile:FROMarm32v7/golangCOPYqemu-arm-static/usr/binENVSTATUSOK_VERSION0.1.1RUNapt-getupdate\&&apt-getinstall-yunzip\&&wgethttps://github.com/sanathp/statusok/releases/download/$STATUSOK_VERSION/statusok_linux.zip\&&unzip

docker - 来自文件的 Google Cloud Build Docker build-arg

我在使用GoogleCloudBuild时遇到问题。我无法通过cloudbuild.yaml将key传递给docker谷歌构建文件.yaml:-name:'gcr.io/cloud-builders/gcloud'args:-kms-decrypt---ciphertext-file=A.enc---plaintext-file=/root/.ssh/id_rsa---location=global---keyring=keyringxxx---key=keyxxxvolumes:-name:'ssh'path:/root/.ssh-name:'gcr.io/cloud-builder