blog

12020-09-09

SEAN K.H. LIAO

tools

You're tired of the docker monoculture or you really don't like docker's daemon model. There are other tools.

image management

commandbuildpullpushtagrm
dockerdocker build .docker pull $imgdocker push $imgdocker tag $img $tagdocker rmi $img
podmanpodman build .podman pull $imgpodman push $imgpodman tag $img $tagpodman rmi $img
buildahbuildah bud .buildah pull $imgbuildah push $imgbuildah tag $img $tagbuildah rmi $img
imgimg build .img pull $imgimg push $imgimg tag $img $tagimg rmi $img
ctr-ctr i pull $imgctr i push $imgctr i tag $img $tagctr i rm $img
crictl-crictl pull $img--crictl rmi $img
others

container management

commandrunstoprmexeccpstatus
dockerdocker run $imgdocker stop $condocker rm $condocker exec $con $cmddocker cp $src $dstdocker ps / docker top
podmanpodman run $imgpodman stop $conpodman rm $conpodman exec $con $cmdpodman cp $src $dstpodman ps / podman top
ctrctr run $img $id-ctr c rm---
crictlcrictl run $cconf $pconfcrictl stop $concrictl rm $concrictl exec $con $cmd-crictl ps
example full command
docker and podman

they share the same flags

docker run --rm -it \
  --name some-container \
  --runtime=runsc \
  -e MY_ENV=1 \
  -v $(pwd)/data:/data \
  -p 80:8080 \
  $img
ctr

less capable

ctr run --rm -t \
  --runc-binary=runsc \
  --env MY_ENV=1 \
  --mount src=$(pwd)/data,dst=/data \
  $img
multi

inspect