草庐IT

docker应用部署

全部标签

go - Golang 应用程序的类似 PM2 的进程管理解决方案?

Go是否有类似PM2forNodeJS的进程管理器?PM2的基本特征:无限期地在后台运行应用程序,例如等待请求的服务器。重启后重启应用。编者注:PM2提供了一种在后台永远运行NodeJS应用程序的简单方法,例如用于生产服务器。当然,您可以使用Linux操作系统,使用不特定于任何特定编程语言的工具来做到这一点,这些答案很有帮助。由于Go可以创建可执行文件,因此您实际上不需要Go语言特定的解决方案来解决这个问题。 最佳答案 开发环境对于开发,您可能需要进程管理器来监视文件更改并实时重新加载您的服务器二进制文件。我习惯了Godeganst

mongodb - 如何在 goLang 中的整个应用程序中将 MongoDB session 作为全局变量维护

我是GoLang的初学者。我想在整个应用程序中维护一个MongoDBsession。我已经看到了答案,例如在martini框架中绑定(bind)数据库session或将其分配给goLang结构。但我想要一个直接的方法。 最佳答案 我假设您已经安装了mgo驱动程序:去获取gopkg.in/mgo.v2在您的代码中,您可以在main函数之外设置一个全局变量,例如:varmgoSession*mgo.Session然后在init函数中或在main函数中启动session:session,err:=mgo.Dial("mongodb://l

docker - 使用 gRPC Docker 容器构建 Go 时出错

我正在尝试将我的golanggrpc应用程序转换为docker容器,但是在尝试构建时我总是遇到错误。错误是messagepb/stickynote.pb.go:16:8:cannotfindpackage"github.com/golang/protobuf/proto"inanyof:/usr/local/go/src/github.com/golang/protobuf/proto(from$GOROOT)/go/src/github.com/golang/protobuf/proto(from$GOPATH)sticky.go:6:2:cannotfindpackage"gith

go - 在 Go 网络应用程序中加载 key 的最佳实践是什么?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭5年前。Improvethisquestion我通常担心内存损坏,因为将我的公钥和私钥留在内存中以供在我的整个应用程序中访问。我是Go的新手,我想知道使这些key可用的最佳做法是什么。Go是否足够安全,我应该能够将这些存储在内存中,没问题。还是我应该只将我的公钥保存在内存中以供验证并在每次需要签署token时加载我的私钥?

multithreading - 基于 Go 的 http 包构建的 Web 应用程序是否作为使用多个线程处理传入请求的单个进程工作?

我读到Go应用程序使用内置Web服务器直接从客户端接收连接,而不是在Apache等Web服务器后面运行。此外,我还阅读了网络服务器(例如Apache)使用由fork()创建的多个进程处理传入请求的信息。对于Go应用程序也是如此,还是它在单个进程上运行并通过多个线程处理传入请求? 最佳答案 Go应用程序通常使用net/http包来实现Web服务器。documentationforthatpackage说:ServeacceptsincomingHTTPconnectionsonthelistenerl,creatinganewserv

string - 为什么简单的 Go 应用程序占用大量内存

这是一个非常简单的应用程序:packagemainimport"fmt"funcmain(){fori:=0;i在windows上运行应用程序后,查看windows任务管理器我看到了这个状态:有人能说说为什么吗? 最佳答案 启动的goroutines并发运行,彼此独立。处理它们是goroutine调度程序的责任和义务。goroutine是一个轻量级线程:它的成本比操作系统线程低很多,但仍然有一些成本。新goroutine的初始堆栈是几KB(大约8KB),并根据需要增长/收缩。参见Goroutines8kbandwindowsOSth

go - 错误 :fork/exec : no such file or directory -- when run Golang code in docker

首先感谢任何帮助我想在容器中执行Gocode:FROMindex.tenxcloud.com/tenxcloud/centos:centos7ADD./ping-app/wls/applications/ping-appRUNyuminstall-ygcclibxml2-devellibxslt-devel&&ldconfigRUNyuminstall-yopenssh-servernet-toolstelnetRUN/bin/cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeRUNmkdir-p/wls/logs/&&touch/wls

go - 方法在结构副本上的应用反射(reflect)在原始结构中

这个问题在这里已经有了答案:Conciselydeepcopyaslice?(3个答案)关闭4年前。我一直在通过构建一个小型线性代数库来尝试使用Go中的方法,但是我遇到了以下代码段的问题:packagemainimport("fmt")typeMatrixstruct{mat[]float64nR,nCint}func(mMatrix)String()string{...}//EmptyMatrixinitializesanR*nCmatrixto0funcEmptyMatrix(nR,nCint)Matrix{...}//BuildMatrixcreatesamatrixbuildb

go - 如何将函数应用于 Golang 中的整数输入

例如,如果输入是这个1345全部由空格分隔,我想应用对每个数字进行平方然后相加的功能。我只是不知道如何将函数应用于每个数字。我所能想到的是,我必须将数字放入一个slice中,然后将该函数应用于每个数字。我到处都看过,但找不到如何执行此操作。在Python中,我只是这样做,并且我已经将值放入名为“n”的列表中。#Thelistispastedfromtheinitialpuzzlen=[10,10,9,8,10,10,10]#Thelistisfirstsquaredb=(list(map(lambdax:x**2,n)))b成为对每个数字执行函数的新列表。

docker - 如何将本地包导入docker环境

我尝试在Docker环境中运行GoAPI服务器,但它运行失败并出现错误。・client:react/axios・api:golang/gin・web-server:nginx・db:mysql・container:docker・ci-tool:travis・deploy:awselasticbeanstalkarticle├client├api│├main.go│├contoroller││└contoroller.go│└Dockerfile├nginx└docker-compose.yml这是api的Dockefile//article/api/DockefileFROMgolan