使用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都没问题。

使用github.com/fsouza/go-dockerclient ,你必须首先创build一个容器 ,使用CreateContainerOptions添加你可以通过命令行的相同选项。

 container, err := client.CreateContainer(createContainerOptions) 

一旦拥有容器, 就可以在HostConfig添加任何额外的选项或覆盖

 client.StartContainer(container.ID, hostConfig) 

要连接到容器的std iostream,您需要使用client.AttachToContainer ,并在AttachToContinerOptions分配适当的stream。