草庐IT

docker-file

全部标签

unit-testing - 如何使用 os.O_RDWR 和 os.O_CREATE 标志测试 file.Open?

我正在尝试为结构构造函数编写单元测试,如果在file.Open期间发生错误,它也可能返回nil。我不知道如何使用标志测试/模拟文件错误:os.O_RDWR|os.O_CREATE|os.O_APPEND我试图在测试中检查nil值,但失败了。构造函数:typeAppstruct{someFieldstringlog*log.Logger}funcNew()*App{app:=&App{}f,err:=os.OpenFile("info.log",os.O_RDWR|os.O_CREATE|os.O_APPEND,0666)iferr!=nil{fmt.Printf("erroropeni

postgresql - docker + golang lib/pq "dial tcp 127.0.0.1:5432: connect: connection refused"

sql.Open()不会出错:ifdb,err=sql.Open("postgres",url);err!=nil{returnnil,fmt.Errorf("Postgresconnecterror:(%v)",err)}但是db.Ping()会报错:iferr=db.Ping();err!=nil{returnnil,fmt.Errorf("Postgrespingerror:(%v)",err)}这仅仅是因为lib/pq连接字符串无法从具有单独连接参数的docker容器内进行连接。例如:url:=fmt.Sprintf("user=%vpassword=%vhost=%vport

docker - ci/cd中断go get测试

我正在尝试预构建docker映像,以便我的ci/cd管道运行得更快,并且go出现了问题我曾尝试过重置缓存和更改环境变量,但是没有人为我工作Fetchinghttps://git.dar.kz/forte-market/domain?go-get=1Fetchinghttps://gopkg.in/olivere/elastic.v5?go-get=1go:findinggithub.com/sirupsen/logrusv1.4.2go:findinggithub.com/modern-go/reflect2v1.0.1go:findinggithub.com/xanzy/go-git

gob 编码到/从 *os.File 解码不工作

当我使用文件指针时f*os.File我得到一个空映射funcdecode(f*os.File,bmap[string]interface{})error{err:=gob.NewDecoder(f).Decode(&b)fmt.Printf("%+v\n",b)returnerr}funcencode(f*os.File,bmap[string]interface{})error{bb:=map[string]interface{}{"X":1,"Greeting":"hello",}err:=gob.NewEncoder(f).Encode(bb)f.Sync()//fmt.Prin

go - 如何在 docker registry api 中为带有标签的图像名称创建 map[string][]string?

我正在使用DockerRegistryAPI,首先使用Listrepositories列出注册表中的所有图像方法,然后在图像中循环以创建一个map[string][]string:image[]tags使用Listingimagetags方法。我试过了funcGetImages(whttp.ResponseWriter,r*http.Request){w.Header().Set("Access-Control-Allow-Origin","*")res,err:=http.Get(fmt.Sprintf("%s/%s",sconf.RegistryConf.url,sconf.Reg

file - os.File 是如何实现 io.Writer 的?

我能做到:f,err:=os.Create("file")iferr!=nil{....}by:=bufio.NewWriter(f)还有这个:var_io.Writer=&os.File{}os.File的包文档导致thissourcefile它确实包含一个未导出的写函数,但是当我尝试使用未导出的函数实现接口(interface)时出现错误。var_Disease=&Scratch{}//*Scratchdoesn'timplementDiseasehavespread()wantSpread()typeDiseaseinterface{Spread()}typeScratchstr

linux - 戈朗 : ssh running remote scripts: No such file or directory

我正在使用ssh模块在远程机器上运行shell脚本://ssh-run.gopackagemainimport("bytes""flag""fmt""log""time""golang.org/x/crypto/ssh")var(flagUser=flag.String("user","","")flagPwd=flag.String("pwd","","")flagHost=flag.String("host","","")flagCmd=flag.String("cmd","",""))funcmain(){flag.Parse()log.SetFlags(log.Lshortfi

go - 为 golang 静态二进制文件构建、部署、推送 docker 镜像

我正在寻找解决简单配置问题的方法;它已经困扰我很长一段时间了。:)我在github上有一个golang项目,它为我提供了一个静态二进制文件,并使用了godeps。现在我想确保godepgoinstall...命令可以在gitclone和docker容器从本地新建的二进制文件构建之后运行。作为一个选项,用户应该能够将其推送到dockerhub或适用的私有(private)仓库。我正在考虑使用Makefile,但这似乎太复杂了(设置gopath,然后是godepbuild,动态修改Dockerfile以指向二进制文件所在的位置,然后是dockerbuild)。有更简单的方法吗?

file - Go connection.Writer 和 reader 行为不正常,在一次读取操作中读取 2 写入

我正在尝试从客户端读取文件,然后将其发送到服务器。它是这样的,你输入send在客户端程序中,然后是将被发送到服务器。服务器通过TCP连接从客户端读取2个东西,首先是命令send其次是文件的内容。但是,有时我的程序会随机包含中的文件内容。字符串。例如,假设我有一个名为xyz.txt的文本文件,其内容是“Hellowworld”。服务器有时会收到sendxyz.txtHellowworld.有时它不会,但它工作得很好。我认为这是同步或不刷新读写器缓冲区的问题。但我不太确定。提前致谢!客户端代码:funcsendFileToServer(fileNamestring,connectionne

docker - docker 源中的 untaggedImage 和 deletedImage 有什么区别?

docker源代码定义了一个结构,用于在运行dockerimageprune或dockersystemprune时保存已删除的图像:typeImageDeleteResponseItemstruct{//TheimageIDofanimagethatwasdeletedDeletedstring`json:"Deleted,omitempty"`//TheimageIDofanimagethatwasuntaggedUntaggedstring`json:"Untagged,omitempty"`}(sourcecodelink)看评论我不明白两者之间的区别。所有未标记的图像不也被删除