草庐IT

Dockerfile调试和优化

全部标签

docker - 为 golang 的 dockerfile 查找路径时出错

我正在尝试用我的golang项目构建docker镜像我使用以下内容#buildstageFROMgolang:alpineasbuilderWORKDIR/go/src/appCOPY..RUNCGO_ENABLED=0GOOS=linuxgobuild-a-installsuffixcgo-ldflags'-extldflags"-static"'-omain.RUNapkadd--no-cachegit#finalstageFROMalpine:latestRUNapk--no-cacheaddca-certificatesCOPY--from=builder/go/bin/app

fmt.Scanln 的调试问题

我想调试一个非常简单的go程序(只是为了看看它是否/如何与VSCode一起工作)到目前为止,这是我的src:packagemainimport("fmt")funcmain(){fmt.Printf("Pleaseenteryourname\n>>")name:=""//«breakpointonthisline»fmt.Scanln(&name)fmt.Println("Welcometomyawesomeprogram,"+name+"!")}当我开始调试时,一切都很好,直到我在下一行(fmt.Scanln(&name))上点击“跳过”按钮。我的本​​地变量从列表中消失,我不能再点

arrays - 在 golang 中使用写入文件字节优化

我有以下程序,可以在.pem文件中打印出关于每个证书的信息:packagemainimport("crypto/x509""encoding/pem""io/ioutil""log""os""strconv")funcmain(){//fordevpurposessetto256constSignatureLengthint=256certPEMBlock,err:=ioutil.ReadFile("testsign.crt")iferr!=nil{log.Fatal(err)}varblocks[][]bytefor{varcertDERBlock*pem.BlockcertDERB

go - VsCode Go 扩展调试 Example_c.c 文件而不是实际文件

我刚刚尝试在C:\Scripts\hello_world.go文件中从VSCode1.28.2(Windows8.1)执行HelloWorld:packagemainimport("fmt")funcmain(){fmt.Println("Hello,Gopher!")}我的环境如下:我使用Windows安装程序从头开始安装了Go:$goversiongoversiongo1.11.2windows/amd64安装在C:\Go已安装VSCodeGo扩展:https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go已安装

go - 如何使用vscode调试go 1.11.x

我是golang的新手,但正在开发go1.11.x。我的团队使用gomodule。第一次克隆存储库时,我需要运行GO111MODULE=ongomoddownload来下载依赖模块。然后我需要运行GO111MODULE=ongorunmain.go来运行我的应用。没有人使用vscode调试器,他们更喜欢控制台日志。有什么方法可以使用vscode调试go1.11.x吗?谢谢。 最佳答案 我现在找到了根本原因。这是我团队的源代码,与vscode或go1.11无关。我的工作launch.json在这里{"version":"0.2.0",

mongodb - go get mongo-go-driver 在 Dockerfile 中崩溃

我的Go服务有点问题。我是Go的新手,我只想对一个连接到mongodb实例的小服务进行docker化。我的代码在本地运行良好。所以这是我的Dockerfile:#buildstageFROMgolang:alpineASbuild-envRUNapkadd--no-cachegitADD..RUNgoget-v-ugo.mongodb.org/mongo-driverRUNgobuild-omongotest#finalstageFROMalpineWORKDIR/appCOPY--from=build-env./go/mongotest.RUNapkupdate&&apkaddca-

docker - 在 Dockerfile 和 docker-compose 中编写什么来传递本地包

我为服务器端api引入了带有gomodules的本地包。通过命令gorunmain.go,它在本地环境中运行良好,没有错误。但是在命令docker-composeup时不起作用。我想知道如何修复Dockerfile和docker-compose.yml。我在article目录下命令gomodinit。因此,它在go.mod中设置modulegithub.com/jpskgc/article。article├db├client├api│├main.go│├controller││└controller.go│└Dockerfile├nginx├docker-compose.yml├go.

unit-testing - 调试在命令行中工作,但在 UI 中未命中断点

我在我的Windows10机器上安装了以下内容:VS代码-版本1.38.1Golang-版本go1.13Delve-版本1.3.0我已经在环境变量中设置了GOROOT和GOPATH。我的GOPATH有以下三个文件夹:来源本包装在src下,我创建了一个基本的sam-app。它会自动创建main_test.go文件。当我进行“调试测试”时,UI中没有出现断点。但是,我可以在命令行中使用dlv进行调试。我在launch.json中尝试了不同的配置。他们都没有工作。在我friend的机器上,即使没有配置,UI调试也能正常工作在VSCode设置中-->节点调试-->自动附加-->我已经设置为'o

go - 如何调试 revel 构建崩溃日志?

我想将我的应用程序投入生产,但我无法理解我在尝试执行revelbuildapp时收到的错误日志这是日志的一部分:panic:runtimeerror:invalidmemoryaddressornilpointerdereference[recovered]panic:runtimeerror:invalidmemoryaddressornilpointerdereference[signal0xbcode=0x1addr=0x20pc=0x40c485]goroutine1[running]:main.func·002()/home/johnny/data/go/src/github

go - 有没有办法在 golang 的 delve 调试器中查看程序 stdout 和 stderr?

我希望在使用delve调试go程序时能够看到stdout和stderr。这可能吗?我该怎么做? 最佳答案 您不需要做任何事情。默认情况下,Delve将stdout和stderr打印到它的控制台。我在MacOSElCapitandelve版本0.11.0-alpha中尝试过这个在你的GOPATH的正确子目录中有一个main.gopackagemainimport"fmt"import"os"funcmain(){fmt.Fprintf(os.Stderr,"Writingsomethingtostderr\n")fmt.Fprintf