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; then 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 } fiTo run a previously created container with bash, start it as normal and then use exec (this assumes your original container can actually run successfully):
docker start [container id] docker exec -it [container id] /bin/bashTo authenticate to a GCR/AR repo use this documentation:
gcloud auth login # You only need to do this once per host gcloud auth configure-docker us-central1-docker.pkg.devYou can then use gcrane to copy a container from one repo to another:
go/bin/gcrane cp ubuntu:jammy us-central1-docker.pkg.dev/project/myrepo/ubuntu:jammy
No comments:
Post a Comment