doupai8533 2015-06-04 19:59
浏览 86
已采纳

使用golang docker API模拟docker run

How can I achieve the equivalent of

sudo docker run -it --rm --name my-python-container -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:2-slim python test.py

using the Docker API for Golang?

Either https://github.com/fsouza/go-dockerclient or https://github.com/samalba/dockerclient is fine.

  • 写回答

1条回答 默认 最新

  • dongyudun6465 2015-06-04 20:13
    关注

    Using github.com/fsouza/go-dockerclient, you have to first create a container, using the CreateContainerOptions to add the same options that you can via the command line.

    container, err := client.CreateContainer(createContainerOptions)
    

    Once you have the container, you start it, with any extra options or overrides in the HostConfig

    client.StartContainer(container.ID, hostConfig)
    

    To connect to the std io streams of a container, you need to use client.AttachToContainer, and assign the appropriate stream in the AttachToContinerOptions.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?