Łukasz Lach, Docker Captain | 2021
https://lach.dev/ | https://github.com/lukaszlach/
Docker Masters | http://dockermasters.pl/
Docker Workshop | http://dockerworkshop.pl/
Code everywhere
docker run -it \
-p 8080:8080 \
-v "$PWD:/home/coder/project" \
-u "$(id -u):$(id -g)" \
codercom/code-serverRemote build cache
export DOCKER_BUILDKIT=1
docker build \
--cache-from \
registry-gitlab.gog.com/project/image:latest \
-t image \
.Perfect Docker image
docker run -i hadolint/hadolint < Dockerfiledocker run -v /var/run/docker.sock:/var/run/docker.sock goodwithtech/dockle alpine:3.9Mangle build context
RUN --mount=type=bind,target=/context \
cp -a /context/. /app/ && \
find /app -type d -name ".git" | xargs rm -rfDetach from a container
docker run -it --name alpine alpine:3.9
^PQdocker attach alpineCommand on-demand
docker run -d --name nginx nginxdocker run -it --net container:nginx cmd.cat/curl/ab/ngrep/tcpdump/ip/nmap/netstat
docker run -it --pid container:nginx cmd.cat/htop/ps/strace docker run -it --pid container:nginx cmd.cat/rsync/tar/zip/find find /proc/1/root/etc/nginxContainer filesystem
Get the process ID of ANY process running inside the container:
ps aux | grep nginx
docker top nginxExplore the container filesystem without using Docker:
sudo ls -lach /proc/27090/root/Explore the container filesystem using other Docker container:
docker run --rm -it \
--pid container:nginx -v $PWD:/host \
cmd.cat/bash/tar/zip/rsync/scp/curl/wget bash