草庐IT

docker命令

全部标签

postgresql - GoLang 服务无法使用 docker compose 访问 Postgres

我有一个用Go编写的HTML服务。它使用Postgres,但是当使用dockercompose将它们组合在一起时,我得到“dialtcp0.0.0.0:5432:connect:connectionrefused”在仅使用docker并引用Postgres的运行图像构建启动服务时工作来自go的调用片段psqlInfo:=fmt.Sprintf("host=%sport=%suser=%spassword=%sdbname=%ssslmode=disable",host,port,user,password,dbname)db,err:=sql.Open("postgres",psqlI

docker - 在 Docker 中找不到 Go mod 文件夹

我是模块的新手,我正在尝试获取一个项目并更新它以使用它们,因为它们似乎是最终处理我的依赖项的一种非常好的方法。但是,我在Docker中构建东西时遇到了问题。我有一个包含main.go和go.mod文件的项目(它引用私有(private)/本地存储库以及像go这样的公共(public)存储库.uber.org/zap)。我将我的模块命名为github.internal.com/team_name/project_name我已经提供了我的依赖项。所以,我的项目结构如下:project-main.go-internal-utils.go-go.mod(github.internal.com/

docker - Golang 在 Docker 镜像中找不到包

所以,我正在尝试使用包含我的主文件补充代码的不同目录来对一个golang应用程序进行docker化。我正在使用gorilla/mux。目录结构如下所示。$GOPATH/src/github.com/user/server|---Dockerfile|---main.go|---routes/handlers.go|---public/index.gohtml它在我的主机上运行没有问题。问题是,当我尝试部署docker镜像时,它不会运行并在创建后不久退出。我尝试将我的dockerfile中的WORKDIR命令更改为/go/src并将我的所有文件转储到那里,但仍然没有运气。我也试过关于do

Golang 获取命令失败

我使用这个命令从GitHub下载一个包;但是输出让我很吃惊,我要安装的包没有在GOPATH或者GOROOT下找到包!$gogetgithub.com/golang/dep/cmd/deppackagegithub.com/golang/dep/cmd/dep:cannotfindpackage"github.com/golang/dep/cmd/dep"inanyof:/usr/local/Cellar/go/1.13/libexec/src/github.com/golang/dep/cmd/dep(from$GOROOT)/Users/mateuszhang/go/src/gith

docker - 启动容器进程导致 "exec:\"/app\": permission denied": unknown

当我尝试使用docker构建golang时docker镜像构建成功,但是用dockerrun运行时出现如下错误docker:Errorresponsefromdaemon:OCIruntimecreatefailed:container_linux.go:345:startingcontainerprocesscaused"exec:\"/app\":permissiondenied":unknown.我认为这个错误导致没有用户添加,所以我添加了如下组和用户RUNgroupadd-g10001myapp\&&useradd-u10001-gmyappmyapp但没有修复。这是我的源do

go - 如何在 GoLang 的命令行上取消设置标志 Visited for Tests

我正在尝试运行每次使用不同参数多次调用同一函数的测试。这是一个接受不同命令行标志的应用程序。如果未提供命令行标志,则使用默认值。flagset=make(map[string]bool)flagset["flag1"]=falseflagset["flag2"]=falseflagset["flag3"]=falseflagset["flag4"]=falsefuncLoadCommandLineArguments(args[]string)error{err:=flag.CommandLine.Parse(args)/*Doerrorhandling*/flag.Visit(func

docker - 我应该安装什么包而不是 libpcre++-dev 在 Alpine Golang 中使用 C 代码?

我在docker容器中有一个Golang程序(我使用的是Ubuntu18)。我也用github.com/glenn-brown/golang-pkg-pcre/src/pkg/pcre在我的Golang应用程序中使用正则表达式。在使用这个库之前,我应该这样安装libpcre++-dev:sudoapt-getinstalllibpcre++-dev但我在我的Dockerfile中使用了golang:alpine并且这不是alpine包中的libpcre++-dev库。我应该安装什么包而不是libpcre++-dev?附注我已尝试安装libc6-compat、pcrepcre-dev、l

windows - 命令提示符下的 Go 语言的 godoc

godocfmt此命令显示fmt包的文档。但是这个内容很多,不支持命令提示符的分页控制(/p)。godocfmt/p请告诉我如何在命令提示符下获取分页文档。 最佳答案 你可以试试这个:godocfmt|moremore不是特定于“godoc”的,应该适用于任何命令的输出。按空格键移动到下一页。 关于windows-命令提示符下的Go语言的godoc,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

vim - 定义用于构建和加载错误文件的命令

我想定义一个命令,它将首先构建当前的Go源文件并加载errors.err文件以供进一步使用:cnext或:列表。我有什么:我在我的.vimrc中添加了以下行:commandGobuild!gobuild%:t|grep-v"^\#"|teeerrors.err但我必须在:Gobuild之后执行:cfile,因为它不是自动完成的。如何自动加载errors.err文件?试图将:cfile附加到命令,但没有帮助。加载后自动删除errors.err也很有用。我知道有一种方法可以用make做这样的事情,但我不喜欢它。UPD:一个笨拙的临时解决方案(在我深入研究建议的解决方案之前):functio

python - 运行守护进程服务器或 shell 命令?

我需要验证电话号码,有一个非常好的python库可以执行此操作。然而,我的堆栈是Go,我真的不期待移植一个非常大的库。您认为通过从Go代码库中运行shell命令或通过运行我必须以某种方式与之通信的守护进程来使用python库会更好吗? 最佳答案 Python作为一种解释型语言,每次从命令行运行脚本时都需要系统加载解释器。还有在我的特定系统上,在磁盘缓存之后,系统需要20毫秒来执行带有importstring的脚本(这对于您的用例来说是合理的)。如果您正在处理大量信息,并且不能一次提交所有信息,您应该考虑设置一个守护进程来避免这种开销