Tag:

多个docker工容器日志

我试图从多个docker集装箱的日志(订单无关紧要)。 这符合预期如果types.ContainerLogsOption.Follow设置为false。 如果types.ContainerLogsOption.Follow设置为true,则有时日志输出会在几个日志之后卡住,并且没有后续日志打印到stdout。 如果输出不卡住,则按预期工作。 此外,如果我重新启动一个或所有的容器命令不会退出像docker logs -f containerName 。 func (w *Whatever) Logs(options LogOptions) { readers := []io.Reader{} for _, container := range options.Containers { responseBody, err := w.Docker.Client.ContainerLogs(context.Background(), container, types.ContainerLogsOptions{ ShowStdout: true, ShowStderr: true, Follow: options.Follow, }) defer responseBody.Close() if err != nil { log.Fatal(err) } readers = append(readers, responseBody) } // concatenate all […]

golang,docker,gradle的项目结构

我刚刚开始使用Go(golang),并希望为将要使用Gradle构build并部署到Docker映像的项目设置新的项目文件夹结构。 我正在努力确定这个项目结构可能是什么样子,主要是因为GOPATH结构和Go语言工具看起来与使用Gradle或configuration可被克隆的项目(Git)相反的事实。 该项目最终将包含用Go编写的各种服务器端代码,用HTML和JavaScript编写的客户端代码,所以我需要一个可以很好地用于Gradle构build和打包所有这些types的项目结构。 有没有人有一个良好的工作结构和工具的build议呢?

Bitbucketpipe道将问题部署到Google App Engine

我正在尝试将golang应用程序部署到应用程序引擎。 现在我可以通过我的Mac上的gcloud CLI来做到这一点,并且工作正常(运行gcloud app deploy app.yaml)。 但是,我在Bitbucketpipe道上收到以下错误: + gcloud –quiet –verbosity=error app deploy app.yaml –promote You are about to deploy the following services: – some-project/default/20171128t070345 (from [/go/src/bitbucket.org/acme/some-app/app.yaml]) Deploying to URL: [https://project-url.appspot.com] Beginning deployment of service [default]… ERROR: (gcloud.app.deploy) Staging command [/tmp/google-cloud-sdk/platform/google_appengine/goroot/bin/go-app-stager /go/src/bitbucket.org/acme/some-app/app.yaml /tmp/tmpLbUCA5] failed with return code [1]. ———————————— STDOUT ———————————— ———————————— STDERR ———————————— 2017/11/28 […]

交叉编译net / http进行分发

我使用以下体系结构在Docker容器中构build了以下代码: cat / proc / version Linux版本3.16.7-tinycore64(root @ 064f0e1ce709)(gcc版本4.7.2(Debian 4.7.2-5))#1 SMP Tue Dec 16 23:03:39 UTC 2014 package main import "fmt" func main() { fmt.Println("Hello") } 二进制分布式,在busybox容器上运行没有问题,在没有安装golang的情况下具有相同的体系结构。 问题 当我对以下代码执行相同操作时: package main import ( "fmt" "net/http" ) const ( port = ":80" ) var calls = 0 func HelloWorld(w http.ResponseWriter, r *http.Request) { calls++ fmt.Fprintf(w, "Hello, […]

Docker返回“json:can not unmarshal string into Go value of type string”

我是docker工人。 我试图发布一个图像: fig up -d –allow-insecure-ssl 但是我收到以下错误消息: json: cannot unmarshal string into Go value of type []string 而我无法弄清楚如何解决这个问题。 我的fig.yml : configrepo: image: docker-registry.backbasecloud.com/backbase/engage-configuration:latest environment: – SERVICE_NAME=configuration ports: – "8788:8080" configserver: image: docker-registry.backbasecloud.com/backbase/engage-configserver:latest environment: SERVICE_NAME: configserver ports: – "8888:8888" links: – configrepo:configrepo dns: 172.17.42.1 docker版本 Client version: 1.6.2 Client API version: 1.18 Go version (client): go1.4.2 […]

Golang二进制内buildDocker容器,还是Mach-O可执行格式?

我真的可以在这里使用一些帮助。 我想要做的是使用标准的golang:1.5 Docker镜像来构build一个Go二进制文件,然后将这个二进制文件从容器中复制到一个基于busybox的新的最小的Docker容器中。 使用Docker安装的卷将二进制文件从容器中取出。 到目前为止,我遇到了两个问题。 主机上生成的二进制文件(并随后复制到第二个容器中)在运行file命令时似乎仍然是一个Mach-O 64位可执行file 。 Docker容器是否从主机获取GOOS和GOARCH? 当用bash手动运行容器并构buildGo二进制文件时,它现在说它是一个ELF可执行文件,但它是dynamic链接的。 我想默认情况下build立静态链接的二进制文件? 这个假设我可能是错的。 预先感谢您提供的任何帮助。 编辑:这是我使用的命令。 希望这个更清楚一点 ## golang:1.5 base image with WORKDIR set to $GOPATH/src/myproject the source ## for the project was added in when creating the 'mybuild_img' docker image ## GOPATH is set automatically in the golang image. docker run -i -v `pwd`/jenkins/out:$GOPATH/src/myproject/jenkins/out mybuild_img:latest bash […]

在Docker容器中运行时,golang项目无法find依赖关系

我有这个golang沙箱项目: https : //github.com/cflynn07/golang-db-gateway-example 当我尝试在golang:1.6.0-alpine运行gateway/gateway.go golang:1.6.0-alpine ~/g/s/g/c/golang-db-gateway-example git:master ❯❯❯ docker-compose up gateway mysql_server is up-to-date Starting gateway Attaching to gateway gateway | gateway.go:7:2: cannot find package "github.com/go-sql-driver/mysql" in any of: gateway | /usr/local/go/src/github.com/go-sql-driver/mysql (from $GOROOT) gateway | /go/src/github.com/go-sql-driver/mysql (from $GOPATH) gateway | gateway.go:8:2: cannot find package "github.com/gorilla/mux" in any of: gateway | /usr/local/go/src/github.com/gorilla/mux (from $GOROOT) […]

加快dockerbuild造golang vendoring

我有一个Dockerfile是FROM golang:1.6-alpine 。 我想在执行docker build尽可能的使用docker的图片caching来加快速度。 为此,我想添加ADD vendor /go/src/…/mypackage/vendor作为第一步,最后运行go install -v …/mypackage 。 但是,这会导致只有构build时间的批量包(这是大部分构build时间)。 是否有明确build立所有的自营商品包(即源内…/vendor目录),但只有他们? 我想我的Dockerfile看起来像这样: FROM golang:1.6-alpine ADD vendor /go/src/github.com/myuser/package/vendor # missing: magic command to build only the vendored packages above ADD *.go /go/src/github.com/myuser/package RUN go install -v "github.com/myuser/package

无法连接到泊坞窗容器内部的postgresql

我正在写一个去应用程序dockerized在2个容器:数据库和应用程序。 当启动容器的docker – 组成'我看到的消息: 拨号TCP:lookup dbpgsql在127.0.0.11:53:没有这样的主机 DB_ENV_DB=cldb DB_ENV_USER=cldb DB_ENV_PASS=cldb DB_PORT_5432_TCP_ADDR=dbpgsql DB_PORT_5432_TCP_PORT=5432 这里是我的docker-compose.yml version: '2' services: server: hostname: app image: golang:1.7.3-alpine build: ./server/ privileged: true container_name: server command: go run server.go volumes: – ../src/:/go/src/ – ../server.go:/go/server.go links: – db:db ports: – '8080:8080' env_file: environment db: hostname: dbpgsql image: postgres:latest container_name: db environment: POSTGRES_USER: cldb POSTGRES_PASSWORD: cldb […]

无法正常closuresdocker进程

我希望能够优雅地closuresdocker进程。 我通过以下博客文章中的想法推导出这些文件: https : //husobee.github.io/golang/ecs/2016/05/19/ecs-graceful-go-shutdown.html 这是我的文件 1)Dockerfile FROM debian:jessie ADD app /app RUN apt-get update –fix-missing RUN apt-get install -y golang CMD ["go", "run", "/app/main.go"] 2)app / main.go package main import "os" import "syscall" import "fmt" import "time" import "os/signal" func main() { // create a "returnCode" channel which will be the return code of […]