docker buildx build --platform linux/arm64 \
-t docker-caching:latest \
-t "docker-caching:$(date +"%Y.%m.%d-%H.%M.%S")" \
-f Dockerfile.blah .https://podman.io/docs/installation
brew install podman
podman machine init
podman machine start
podman info
# To start Podman after reboot:
service podman enablehttps://docs.podman.io/en/latest/markdown/podman-build.1.html
podman build --platform linux/arm64 \
-t "docker-caching:latest" \
-t "docker-caching:$(date +"%Y.%m.%d-%H.%M.%S")" \
-f Dockerfile.blah .https://docs.podman.io/en/latest/markdown/podman-run.1.html
podman run --rm -it \
--workdir="/docker-caching" \
--env BLAH=blah.blah.blah \
--volume="$(pwd):/docker-caching" \
--volume="venv:/docker-caching/.venv" \
--volume="node_modules:/docker-caching/tests/node_modules" \
docker-caching:latest /bin/bashalternatively, more verbose way to mount volumes:
podman run --rm -it \
--workdir=/docker-caching \
--env BLAH=blah.blah.blah \
--mount type=bind,src="$(pwd)",target=/docker-caching \
--mount type=volume,src=venv,target=/docker-caching/.venv \
--mount type=volume,src=node_modules,target=/docker-caching/tests/node_modules \
docker-caching:latest /bin/bashif we want to isolate host's filesystem from container
then we should add COPY . . as the last step in Dockerfile
and start container without bind mount, as example below:
podman run --rm -it \
--workdir=/docker-caching \
--env BLAH=blah.blah.blah \
--mount type=volume,src=venv,target=/docker-caching/.venv \
--mount type=volume,src=node_modules,target=/docker-caching/tests/node_modules \
docker-caching:latest /bin/bashpodman image prune -a
# !!! ACHTUNG !!!
# this removes all images that are currently not use by any containersOnce connected to image run cmd:
bash dummy-test.sh