Emulating `docker run` using golang docker API

How can I achieve the equivalent

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 good.

+3


source to share


1 answer


Using github.com/fsouza/go-dockerclient

, you must first create a container using CreateContainerOptions

to add the same parameters that you can execute via the command line.

container, err := client.CreateContainer(createContainerOptions)

      

Once you have a container, you start it , with any additional options or overrides inHostConfig



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 AttachToContinerOptions

.

+7


source







All Articles