草庐IT

host-context

全部标签

http - 如何将 context.Done() 与嵌套的 http 中间件一起使用

我想知道如何正确实现/使用context.Done()在HTTP中使用它时的方法服务器和实现middleware,我的目标是在客户端跨嵌套中间件断开连接时取消后续事件。为了测试,我创建了以下代码,我不知道这样做是否正确,因为我必须创建一个channel在HandleFunc内和一个goroutine处理请求,将所有这些放在一个select中等待语句。packagemainimport("fmt""log""net/http""time")funchello(whttp.ResponseWriter,r*http.Request){ctx:=r.Context()log.Println(

docker - host to add/usr/bin/host to scratch 由 Go binary 组成的 Dockerfile?

我希望这个非常简单的Go包使用Scratch(或最小)图像在Docker容器中运行。packagemainimport("fmt""os/exec")funcmain(){cmd:="host"args:=[]string{"-t","ns","google.com"}output,err:=exec.Command(cmd,args...).Output()iferr!=nil{fmt.Println(err)}fmt.Println(string(output))}我原来的Dockerfile如下:FROMscratchADDgohost/CMD["/gohost"]这导致exit

google-app-engine - App Engine go context.Context 没有命名空间

从ctx,ctxErr:=appengine.Namespace(ctx,"MyContext")获取上下文后,我希望ctx命名空间填充MyContext代码import(..."golang.org/x/net/context""google.golang.org/appengine")ctx:=appengine.NewContext(r)ctx,ctxErr:=appengine.Namespace(ctx,"MyContext")ifctxErr!=nil{log.Errorf(ctx,"Failedtoobtaincustomnamespacecontext,error:%s

docker - Docker 命令中的 --net=host 选项到底有什么作用?

我是Docker的初学者。我在dockerrun命令中找不到任何关于此选项的明确描述,对此我感到有些困惑。我们可以在不指定端口的情况下使用它来访问在docker容器上运行的应用程序吗?例如,如果我在dockerrun命令中使用选项-p8080:8080运行通过8080端口中的docker镜像部署的webapp,我知道我必须在Docker容器的8080端口上访问它ip/theWebAppName。但我真的想不出--net=host选项是如何工作的。 最佳答案 安装docker后默认有3个网络:dockernetworklsNETWOR

docker - Docker 命令中的 --net=host 选项到底有什么作用?

我是Docker的初学者。我在dockerrun命令中找不到任何关于此选项的明确描述,对此我感到有些困惑。我们可以在不指定端口的情况下使用它来访问在docker容器上运行的应用程序吗?例如,如果我在dockerrun命令中使用选项-p8080:8080运行通过8080端口中的docker镜像部署的webapp,我知道我必须在Docker容器的8080端口上访问它ip/theWebAppName。但我真的想不出--net=host选项是如何工作的。 最佳答案 安装docker后默认有3个网络:dockernetworklsNETWOR

ruby-on-rails - rails , docker : Host does not exist: "default"

当我尝试运行docker-machinestartdefault时,我得到Hostdoesnotexist:"default",我尝试了eval"$(docker-machineenvdefault)",但仍然收到相同的消息。哪里出错了? 最佳答案 尝试简单地检查已创建的机器(docker-machinels):docker-machinels然后你可以选择一个并用它尝试你的命令。如果没有,您可以先创建一个(docker-machinecreate)。在OP的情况下:docker-machinecreatedefault由于错误消息

ruby-on-rails - rails , docker : Host does not exist: "default"

当我尝试运行docker-machinestartdefault时,我得到Hostdoesnotexist:"default",我尝试了eval"$(docker-machineenvdefault)",但仍然收到相同的消息。哪里出错了? 最佳答案 尝试简单地检查已创建的机器(docker-machinels):docker-machinels然后你可以选择一个并用它尝试你的命令。如果没有,您可以先创建一个(docker-machinecreate)。在OP的情况下:docker-machinecreatedefault由于错误消息

google-app-engine - c.Infof undefined (type context.Context has no field or method Infof) google.golang.org/appengine/log 错误

在GoRuntime中,我使用方法c.Infof来记录消息,但编译失败并出现以下错误c.Infof未定义(类型context.Context没有字段或方法Infof)。错误清楚地表明从c:=appengine.NewContext(r)返回的应用引擎上下文是context.Context类型并且它上面没有方法c.Infof。但与此相反的是https://godoc.org/google.golang.org/appengine/log中的文档表明存在这种方法。还有一点需要注意,该方法存在于“appengine”(导入“appengine”)包返回的上下文中,而这似乎不存在于新包goog

go - 在范围循环中获取 {{.Host}} - Caddy 服务器浏览模板

所以我可以在模板文件中很好地使用{{.Host}},但是一旦进入{{range.Items}}循环,它就不会工作,因为它试图从.Items(数组?)东西中获取.Host..我认为这是一个错误template:listing:41:46:executing"listing"at:can'tevaluatefieldHostintypebrowse.FileInfo我以前从未使用过Go,我尝试阅读texttemplatedocumentation页面,但这一切都相当困惑。 最佳答案 哦,别介意伙计们,我知道这是一个简单的修复。{{$.H

Docker 构建给出 "unable to prepare context: context must be a directory:/Users/tempUser/git/docker/Dockerfile"

我有一个用于构建Ubuntu镜像的Dockerfile。但每当我运行时dockerbuild-tubuntu-test:latest./Dockerfile它在控制台上显示以下错误unabletopreparecontext:contextmustbeadirectory:/Users/tempUser/git/docker/Dockerfile我在MacOsX上。我也尝试过sudo。没有任何效果。 最佳答案 您需要改为指向目录。您不得指定dockerfile。dockerbuild-tubuntu-test:latest.工作。d