Tag:

Docker和GO运行时

首先,我会称自己是一名C / C ++程序员。 我在Docker或Go上没有多年的经验。 因此,尽pipe我在Googlesearch上尽了最大的努力,但我的问题可能很愚蠢。 我的问题是Docker在运行时是否需要GO运行时。 我已经读过,docker本身是用GO编写的。 我可以看到一个GO编译器是构builddocker二进制文件所必需的。 比方说,我在构build机器上构builddocker二进制文件并进行远程分发。 例如,我在机器A上构build一个.deb docker包,并将其分发给用户的机器B,C,D,E和F.做B,C,D,E和F需要安装到运行我的docker? 如果docker是用C / C ++编写的,并且与DLL(s)链接,我会知道答案。 如果docker是用C / C ++编写的并且静态链接的话,我也会知道答案。 但是,我不太清楚GO程序是如何运行的,特别是docker程序需要什么。

在docker的CPU使用率计算是什么:TotalUsage,SystemUsage,PercpuUsage和计算是什么意思?

我看到在docker来源的CPU计算,但我不明白什么是确切的 TotalUsage SystemUsage PercpuUsage 为什么cpuDelta除以SystemDelta ,为什么然后乘以PercpuUsage ? 该文件说cpuDelta //计算读数之间容器的CPU使用情况的变化 和systemDelta : //计算整个系统在读数之间的变化 所以不应该将这些三angular洲的总和除以在该三angular洲时间的总CPU(或总纳秒)? 毕竟container同时使用了cpuDelta和cpuDelta 更新 :我想我得到它的总容量是容器的使用量,而SystemUsage不是容器使用的系统CPU,而是整个系统超出了容器的CPU,这就是为什么他们分开。

使用Docker构buildQuick Go项目,而不检查供应商库

目前,我们在src/vendor拥有所有的销售库,这使得docker docker-compose build相当快速。 尽pipe将源代码库添加到源代码pipe理中,但库的缺点是不会更新,也会严重影响请求的区别。 有没有办法,也许与caching?

Postgres错误在数据库上运行查询:无法检测到默认的用户名

您好,我正在尝试与普罗米修斯监测Postgres的SQL。 为此,我使用这个导出器https://github.com/wrouesnel/postgres_exporter 我开始在我docker-compose.yml这样的出口商: exporter-postgres: image: wrouesnel/postgres_exporter ports: – 9113:9113 environment: – DATA_SOURCE_NAME="postgresql://user:pass@localhost:5432/?sslmode=disable" 当出口商试图访问这样的数据库错误时: Error running query on database: pg_stat_database pg: Could not detect default username. Please provide one explicitly. file="postgres-exporter.go" line=490 和 Error scanning runtime variable: pg_stat_database pg: Could not detect default username. Please provide one explicitly. file="postgres-exporter.go" line=464 我不确定这个消息可能意味着什么。 另外我不确定是否问题来自我的docker撰写文件,或出口商。 抛出postgres-exporter.go错误的行是: // Use SHOW […]

Dockerhub自动构build与多个私人回购

有一种方法可以在自动化dockerhub构build过程中连接到多个私有git仓库吗? 我们正在构buildgolang应用程序,并需要“去获得”其他私人回购作为我们构build的一部分,目前他们因为docker工人无法连接到他们而失败,只有目标私人回购。 主要的回购是好的,因为部署密钥通过Dockerhub安装,但任何后续的私人回购导入失败。 我能看到的一个方法就是在本地构build镜像,“docker工人”将其拖放到dockerhub上,然后在部署方面拉下来,这样做会影响dockerhub和自动化构build系统的function。 另一种是把ssh键烧成基本的图像,这不是一个好主意。 有没有人有一个解决scheme,这不涉及到本地烧图像或build设SSH密钥? 非常感谢。

使用golang docker API模拟docker run

我怎样才能达到相当于 sudo docker run -it –rm –name my-python-container -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:2-slim python test.py 使用Golang的Docker API? 无论是https://github.com/fsouza/go-dockerclient或https://github.com/samalba/dockerclient都没问题。

在写入安装目录中的文件时,docker容器不断增加内存使用量

当容器内的应用程序将日志写入安装目录中的文件时,容器使用的内存不断增加,这是一个问题。 我希望内存使用量不会因此而增加。 有没有人知道为什么增加? 谢谢 !! 这是我做的: 写一个只写“hello world”到“/home/mylog/test.txt”的应用程序。 func main(){ file, _ := os.OpenFile("/home/mylog/test.txt", os.O_WRONLY|os.O_CREATE, 0666) defer file.Close() for { fmt.Fprintln(file, "hello world") } } build立一个docker形象 dockerbuild设-t的Mylog。 Dockerfile FROM golang 运行mkdir -p / home / mylog COPY main.go / go WORKDIR / go CMD [“go”,“run”,“main.go”] 使用-v选项运行一个容器,指定当前目录。 docker运行-d -v $ PWD:/ home / mylog mylog 检查内存使用情况 […]

得到“无法find包”试图build立我的应用程序在docker集装箱

这是我的Dockerfile。 FROM ubuntu MAINTAINER me <my@email.com> RUN apt-get update && apt-get install -y \ build-essential \ curl \ git \ make # Get and compile go RUN curl -s https://go.googlecode.com/files/go1.2.1.src.tar.gz | tar -v -C /usr/local -xz RUN cd /usr/local/go/src && ./make.bash –no-clean 2>&1 ENV PATH /usr/local/go/bin:/go/bin:$PATH ENV GOPATH /go RUN go get github.com/gorilla/feeds WORKDIR /go […]

在docker api的golang sdk中为ContainerCreate函数设置PortBindingsconfiguration

基本上我需要这样的事情 docker run -p something:something –name xxxx imagename 在golang sdk(这一个https://docs.docker.com/engine/api/sdks/ )为dockerAPI,我现在的代码看起来像这样 exposedPorts, portBindings, _ := nat.ParsePortSpecs([]string{ "127.0.0.1:8080:2368", }) // Running the ghost container createdBody, err := dockerClient.ContainerCreate(context.Background(), &container.Config{ Image: "ghost:latest", ExposedPorts: exposedPorts,// it supposed to be nat.PortSet }, &container.HostConfig{ PortBindings: portBindings,// it supposed to be nat.PortMap }, &network.NetworkingConfig{}, containerName) 我使用这个https://github.com/docker/go-connections/blob/master/nat/nat.go#L126 ParsePortSpecs函数返回(map [Port] struct {},map [Port] […]

Docker抱怨ALL_PROXY环境variables“proxy:unknown scheme:http”

我遇到以下问题与我的Docker容器:当我尝试input容器使用 docker exec -it container-id /bin/bash Docker(我认为它是Docker)抱怨以下消息: proxy: unknown scheme: http 我已经追溯到在主机上设置的以下环境variables,因为我正在使用代理服务器访问Web: ALL_PROXY=http://myproxy:8080 错误消息似乎来自net/proxy.go文件,可以在这里find – 错误消息发出在文件的最后一行。 为什么http不会成为Docker案例中的注册URLscheme? 只要我在主机上unset ALL_PROXY ,我就可以无任何问题地进入容器。 环境: Mac OS X v10.11.5 Docker v1.11.1 Docker-Machine v0.7.0 任何想法如何解决这个问题(除了每次不设置variables)?