user9840885
user9840885

Reputation:

Run commands through docker.py

I am trying to run commands through a Docker container. I am able to successfully create and print the containers logs to console however, I want to to be able to run commands once connected to the container. I am using Flask as I am creating a web based console for managing the container. I have it connect to to the container but want to send commands once connected and not send a command as the container is being created.

client.containers.run("ubuntu:latest", "echo hello world") will create the container and echo hello world but I am wanting it so I am able to send commands once the container is already created. I am using the official docker.py lib from Docker.

@DockerDeploy.route('/dashboard')
def dashboard():
    container = client.containers.run('ubuntu:latest', detach=True)
    for line in container.logs(stream=True):
        print(line.strip())
    return "<h1>Container Created!</h1>"

Upvotes: 0

Views: 456

Answers (1)

Martin Do Santos
Martin Do Santos

Reputation: 137

docker.py Documentation has the answer: Docker.py Execute

Since execute is deprecated, you have to use exec_create and exec_start.

So, you have to use docker.py to get the Id of the container, but it should be enough.

Hope it helps.

Upvotes: 1

Related Questions