How to extend existing docker container?

Your original assertion is correct, create a new Dockerfile:

FROM tensorflow/tensorflow
RUN pip install requests

now build it (note that the name should be lower case):

docker build -t me/mytensorflow .

run it:

docker run -it me/mytensorflow

execute a shell in it (docker ps -ql gives us an id of the last container to run):

docker exec -it `docker ps -ql` /bin/bash

get logs from it:

docker logs `docker ps -ql`

The ability to extend other images is what makes docker really powerful, in addition you can go look at their Dockerfile:

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/docker

and start from there as well without extending their docker image, this is a best practice for people using docker in production so you know everything is built in-house and not by some hacker sneaking stuff into your infrastructure. Cheers! and happy building


you could enter the running container via:

docker exec -it CONTAINER_ID bin/bash

or if a name is set:

docker exec -it CONTAINER_NAME bin/bash

Tags:

Docker