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