This is an old revision of the document!
Docker: Image Development
General Information
Developing docker images.
Checklist
- Docker installed
- Account on docker hub or private registry setup
Building/Testing Images
Best practices for Dockerfiles: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Build a docker image from a Dockerfile (mytag is usually a version number)
docker build -t myimagename:mytag --file=Dockerfile .
Run a container with an interactive terminal, remove it when stopped, attach a bash shell
docker run -it --rm --name mycontainername myimagename /bin/bash
Push Images To Docker Registry
Login to registry
- Docker Hub
docker login -u dockerhubuser
- Private Registry
docker login -u myuserhere https://registryhostname.my.domain.com
Tag a local image:tag with the destination image:tag (usually tag is a version number)
- Docker Hub
docker tag myimage:mytag dockerhubuser/myimage:mytag
- Private Registry
docker tag myimage:mytag registryhostname.my.domain.com/myimage:mytag
Push the image:tag to the remote registry
- Docker Hub
docker push dockerhubuser/myimage:mytag
- Private Registry
docker push registryhostname.my.domain.com/myimage:mytag
Additional tag with latest (so the most recent version number is also a latest tag)
- Docker Hub
docker tag myimage:mytag dockerhubuser/myimage:latest
- Private Registry
docker tag myimage:mytag registryhostname.my.domain.com/myimage:latest
Additional push for latest
- Docker Hub
docker push dockerhubuser/myimage:latest
- Private Registry
docker push registryhostname.my.domain.com/myimage:latest
Run Container From Registry
Login to registry
- Docker Hub
- Private Registry
docker login -u myuserhere https://registryhostname.my.domain.com
Run container interactively with a bash shell(latest tag is default)
- Docker Hub
- Private Registry
docker run -it --name mycontainername registryhostname.my.domain.com/myimage /bin/bash