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.
source to share
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
.
source to share