草庐IT

docker部署gitlab时配置https

全部标签

docker - 当 PIPE docker 中的输出时从 os.Stdin 读取时被阻止

我正在尝试将程序的输出(日志)通过管道传输到Go程序,该程序聚合/压缩输出并上传到S3。运行该程序的命令是“/program1|/logShipper”。logShipper是用Go编写的,它只是从os.Stdin读取并写入本地文件。本地文件将由另一个goroutine处理并定期上传到S3。有一些现有的docker日志驱动程序,但我们在完全托管的提供程序上运行容器并且日志处理费用非常昂贵,因此我们想绕过现有解决方案并直接上传到S3。logShipper的主要逻辑只是从os.Stdin读取并写入某个文件。它在本地机器上运行时工作正常,但在docker中运行时,goroutine在read

go - Gitlab CI 和 Go 模块

我有一个Go项目,我想为我的项目编写一个GitlabCI文件,但我看到加载模块要求时出错。这是我的gitlabCI文件:stages:-compilebuild:stage:compileimage:golang:1.12script:-gobuild-obinaryerror:Runningwithgitlab-runner11.8.0(4745a6f3)onRunner#6e0e0c446UsingDockerexecutorwithimagegolang:1.12...Pullingdockerimagegolang:1.12...Usingdockerimagesha256:b

http - 如何在 net/http 中为 HTTP2 配置帧大小

我正在尝试使用net/http库在HTTP/2服务器中将帧大小设置为16MB。默认大小为16KB。尝试以下:http2Server=http2.Server{MaxReadFrameSize:2但在客户端仍然得到16KB的帧大小(通过打印响应主体的长度验证)。有没有其他方法可以在客户端和服务器端设置最大帧大小? 最佳答案 2是~32MB,你可能想要1 关于http-如何在net/http中为HTTP2配置帧大小,我们在StackOverflow上找到一个类似的问题:

由于 : "go directory outside available modules",Docker 构建失败

我在构建我的go服务的Docker镜像时遇到问题(请参阅最后的错误消息)。我的服务代码结构如下:cmd-duc-adobepkg-adobe-common.gitignoreDockerfilego.modgo.sum这是我的Dockerfile:#buildimageFROMgolang:1.12-alpineasbuilderRUNapkupdate&&apkadd--no-cachegitca-certificates&&update-ca-certificatesWORKDIR/app#firstdownloaddependenciessothatwecanutilizethe

git - 如何在不终止连接的情况下更新 docker web 应用程序?

我有一个docker-compose.yml,它有两个服务:一个数据库和我的Go应用程序。我的CI/CD管道调用托管此docker容器的服务器并运行此bash脚本:gitfetch&>/dev/nulldiffs=$(gitdiffmasterorigin/master)if[!-z"$diffs"]thenecho"PullingcodefromGitHub..."gitcheckoutmastergitpulloriginmaster#updateserverdocker-composeup--build-d#killallunuseddockercontainersdockers

sqlite - 使用 sqlite 的 gorm.Model 时区配置

我正在使用带有sqlite的gorm。我的模型包括gorm.Model,因此gorm会为我处理created_at,...但默认情况下它会使用本地时间保存所有审核日期(例如“2019-08-1217:45:39.356009+02:00”)。有没有办法为自动生成的字段强制使用UTC?该行为是基于gorm本身还是基于底层sql数据库? 最佳答案 如果您仔细阅读代码,您会发现delted_at、created_at和updated_at字段由函数控制gorm.NowFunclink.根据文档://gorm.NowFunc=func()t

google-app-engine - 如何在 Google Cloud AppEngine 上强制使用 https

我正在尝试为托管在GoogleCloudAppEngine上的应用程序的所有流量强制使用https。https有效,但尽管遵循了将http流量重写为https的说明,但仍然可以使用http访问该站点,这会导致问题。我已将其添加到app.yaml中:handlers:-url:/.*script:_go_appsecure:alwaysredirect_http_response_code:301但好像没什么区别。我正在使用julienschmidt路由器,然后用它来处理所有路由:log.Fatal(fmt.Println(http.ListenAndServe(":8080",rout

go - Travis CI 找不到 GitHub 部署的发布文件

尽管在SO上尝试了其他答案,但我无法让TravisCI找到我的发布文件夹进行部署。我有一个像这样运行发布的Makefile:release:mkdir-preleaseenvGOOS=linuxGOARCH=amd64$(GOBUILD)-orelease/$(CLI)-$(VERSION)-linux-amd64$(BINARY_NAME_CLI)envGOOS=darwinGOARCH=amd64$(GOBUILD)-orelease/$(CLI)-$(VERSION)-darwin-amd64$(BINARY_NAME_CLI)envGOOS=windowsGOARCH=amd6

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.

shell - 无法使用exec在Go中为docker运行netstat

尝试使用exec在Go中运行终端命令以获取docker网络使用但无法。以下链接显示了如何使用终端获取docker容器的网络使用情况,它在终端中工作正常但不使用Go。https://docs.docker.com/config/containers/runmetrics/我得到退出代码1、2、125等,具有不同的组合。stdin,err:=cmd.StdinPipe()iferr!=nil{log.Fatal(err)}deferstdin.Close()io.WriteString(stdin,"CID="+CID)//containerIDio.WriteString(stdin,"