Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Docker: Image Development ====== **General Information** Developing docker images. **Checklist** * [[linux_wiki:docker|Docker installed]] * A [[https://docs.docker.com/get-started/part2/#define-a-container-with-dockerfile|Dockerfile]] to build * [[https://docs.docker.com/develop/develop-images/dockerfile_best-practices/|Best practices for Dockerfiles]] * Account on [[https://hub.docker.com/|docker hub]] or [[https://docs.docker.com/registry/deploying/|private registry]] setup ---- ====== Building/Testing Images ====== \\ Build a docker image from a Dockerfile (mytag is usually a version number) <code bash> docker build -t myimagename:mytag --file=Dockerfile . </code> \\ Run a container with an interactive terminal, remove it when stopped, attach a bash shell <code bash> docker run -it --rm --name mycontainername myimagename /bin/bash </code> ---- ====== Push Images To Docker Registry ====== Login to registry * Docker Hub<code bash>docker login -u dockerhubuser</code> * Private Registry<code bash>docker login -u myuserhere https://registryhostname.my.domain.com</code> \\ Tag a local image:tag with the destination image:tag (usually tag is a version number) * Docker Hub<code bash>docker tag myimage:mytag dockerhubuser/myimage:mytag</code> * Private Registry<code bash>docker tag myimage:mytag registryhostname.my.domain.com/myimage:mytag</code> \\ Push the image:tag to the remote registry * Docker Hub<code bash>docker push dockerhubuser/myimage:mytag</code> * Private Registry<code bash>docker push registryhostname.my.domain.com/myimage:mytag</code> \\ Additional tag with latest (so the most recent version number is also a latest tag) * Docker Hub<code bash>docker tag myimage:mytag dockerhubuser/myimage:latest</code> * Private Registry<code bash>docker tag myimage:mytag registryhostname.my.domain.com/myimage:latest</code> \\ Additional push for latest * Docker Hub<code bash>docker push dockerhubuser/myimage:latest</code> * Private Registry<code bash>docker push registryhostname.my.domain.com/myimage:latest</code> ---- ====== Run Container From Registry ====== Login to registry * Docker Hub<code bash>docker login -u dockerhubuser</code> * **Note**: Login only required if docker hub registry is private (they are public by default). * Private Registry<code bash>docker login -u myuserhere https://registryhostname.my.domain.com</code> \\ Run container interactively with a bash shell (latest tag is default) * Docker Hub<code bash>docker run -it --name mycontainername dockerhubuser/myimage /bin/bash</code> * Private Registry<code bash>docker run -it --name mycontainername registryhostname.my.domain.com/myimage /bin/bash</code> ---- linux_wiki/docker_image_devel.txt Last modified: 2019/07/21 16:10by billdozor