Чтобы просто передать аргументы в Docker CMD, передать полную команду с аргументами и использовать сопоставление портов в качестве параметра dict как ports, достаточно в следующем примере:
import docker
client = docker.from_env()
container = client.containers.run(image='my_image',
command="start-notebook.sh --no-browser --ip=0.0.0.0",
ports={'8888': 8888}
)
Чтобы отобразить тома, в качестве исходной командной строки новый API низкого уровня (docker.APIClient ()) должен использоваться следующим образом:
client = docker.APIClient()
container = client.create_container(
image='my_image',
stdin_open=True,
tty=False,
command="start-notebook.sh --no-browser --ip=0.0.0.0",
volumes=['~/', '/tmp/home/'],
host_config=client.create_host_config(
port_bindings={
8888: 8888,
},
binds={
' ~/': {
'bind': '/tmp/home/',
'mode': 'rw',
}
}),
ports=[8888],
detach=True,
)