Build from the Dockerfile in the current directory and tag the image as "demo":
docker build -t demo .Build but don't cache the intermediate containers. This is useful if the previous build failed and the intermediate container is broken:
docker build --no-cache .There's a good Dockerfile reference document and Dockerfile best practices document that you should read when writing a Dockerfile. Make sure you have a .dockerignore file that excludes all unnecessary stuff from the image to reduce bloat and reduce the amount of context that needs to be sent to the docker daemon on each rebuild.
Run bash inside the container to poke around inside it:
docker run -it ubuntu bashShare a host directory with the container:
docker run -it -v /home/me/somedir:/mounted_inside ubuntu:latest bashList local available images:
docker imagesSee what containers are running:
docker psBash helper functions (credit to raiford). "dckr clean" is particularly useful when building an image that results in lots of orphans due to errors in the Dockerfile:
if which docker &> /dev/null; thenTo run a previously created container with bash, start it as normal and then use exec (this assumes your original container can actually run successfully):
function dckr {
case $1 in
clean)
# Clean up orphaned images.
docker rmi -f $(docker images -q -f dangling=true)
;;
cleanall)
# Delete All Docker images with prompt.
read -r -p "Delete all docker images? [y/N] " response
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]; then
docker rmi $(docker images -q)
fi
;;
killall)
# Kill all running docker processes
docker kill $(docker ps -q)
;;
*)
echo "Commands: clean, killall"
;;
esac
}
fi
docker start [container id]To authenticate to a GCR/AR repo use this documentation:
docker exec -it [container id] /bin/bash
gcloud auth loginYou can then use gcrane to copy a container from one repo to another:
# You only need to do this once per host
gcloud auth configure-docker us-central1-docker.pkg.dev
go/bin/gcrane cp ubuntu:jammy us-central1-docker.pkg.dev/project/myrepo/ubuntu:jammy
No comments:
Post a Comment