Tag: docker api

将docker-compose.yml转换成DockerAPI / services / create接受的json?

我想通过用于Go-lang的Docker API将服务部署到已经运行的Docker Stack中。 由于dockerAPI只接受json的文档描述,所以我search了一个可以将compose.yaml转换为dockerAPI接受的json的工具。 或者,如果go-lang DockerAPI中有任何方法可以直接使用yaml数据创build服务,就像我们在compose.yml中提供的那样。 示例Yaml: myapp: image: amithp/pyapp:latest deploy: replicas: 3 restart_policy: condition: on-failure networks: – frontend-network environment: – MYENV=myapp labels: myproject: "xyz" label1: "somevar" 对于DockerAPI和Go-lang,我都是相当新的,任何build议或方向都会大有帮助。

何时何地不在Docker Remote API中使用tty

主要关注 我使用curl来运行我的请求。 运行邮递员的请求似乎没有显示太多的TTY启用或禁用的区别。 Stderr显示启用TTY,但不会禁用TTY。 AttachStderr被设置为true(使用curl )。 当启用TTY(使用curl )时,Stdout是“不完整的”。 ========================================= 我努力想弄清楚什么时候用Docker Remote API分配一个伪tty,什么时候不用。 输出是非常不同的(取决于是否有错误,其他的东西我不太明白)。 我正在使用curl来执行我的请求。 例: 否TTY: # ls on a container curl –unix-socket /var/run/docker.sock -s -H "Content-Type: application/json" -X POST -d '{"AttachStdin": false, "AttachStdout": true, "AttachStderr": true, "Tty": false, "Cmd": [ "ls" ] }' http:/containers/mycontainer/exec curl –unix-socket /var/run/docker.sock -s -H "Content-Type: application/json" -X POST -d […]

Docker Golang API使用内存中的文件创build一个容器

目前,要使用golang api将文件放入容器,首先必须创build容器,然后使用CopyToContainer函数(下面的示例)。 是否有可能创build一个容器并为其创build时指定文件,而不必先在文件系统上创build文件? 例1) func main() { cli, err := client.NewEnvClient() if err != nil { panic(err) } resp, err := cli.ContainerCreate(context.Background(), &container.Config{ Image: "alpine", Cmd: []string{"ls", "/"}, }, nil, nil, "testContainer") if err != nil { panic(err) } fmt.Printf("Created: %v\n", resp.ID) cli.CopyToContainer(context.Background(), resp.ID, "/", getTar(),types.CopyToContainerOptions{}) } func getTar() io.Reader { … } 编辑: – […]

Golang – Docker API – 分析ImagePull的结果

我正在开发一个使用Docker API的Go脚本,用于我的项目。 我login到我的资源库后,我拉我想要的Docker图像,但问题是ImagePull函数返回io.ReadCloser的实例,我只能通过传递给系统输出: io.Copy(os.Stdout, pullResp) 很酷,我可以看到答复,但我找不到一个体面的方式来parsing它,并实现一个逻辑取决于它,这将做一些事情,如果一个新版本的图像已被下载,其他事情,如果图像是最新的。 如果您曾经遇到过这个问题,我会很乐意分享您的经验。

使用Go Docker API从挂载的文件获取文件上下文

我正在尝试使用Go docker API获取已装入的文件内容: 文件secret.txt存储一行TOKEN=MY_TOKEN 码: cli, err := client.NewEnvClient() if err != nil { panic(err) } defer cli.Close() ctx := context.Background() _, err = cli.ImagePull(ctx, "alpine", types.ImagePullOptions{}) if err != nil { panic(err) } containerConfig := &container.Config{ Image: "alpine", Cmd: []string{"echo", "hello world"}, } // mounted file h := container.HostConfig{ Binds: []string{"/etc/secret.txt"}, } resp, err […]