linux:docker
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| linux:docker [2023/11/14 00:07] – Wuff | linux:docker [2025/09/04 00:12] (current) – [GPU hardware acceleration] Wuff | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| https:// | https:// | ||
| + | |||
| + | ===== Main install ===== | ||
| + | < | ||
| + | apt-get -y install curl unzip dialog | ||
| + | curl -fSSL get.docker.com | sh | ||
| + | </ | ||
| + | |||
| + | Useful alias to exclude container overlays from the df command for use in .bashrc or .profile: | ||
| + | < | ||
| + | alias df='/ | ||
| + | </ | ||
| + | |||
| + | ===== Show logs ===== | ||
| + | |||
| + | < | ||
| + | docker logs --follow < | ||
| + | </ | ||
| + | |||
| ===== Build image ===== | ===== Build image ===== | ||
| Line 103: | Line 121: | ||
| docker tag current/ | docker tag current/ | ||
| </ | </ | ||
| + | |||
| + | ===== cmd shell of container ===== | ||
| + | < | ||
| + | docker exec -it < | ||
| + | docker exec -it < | ||
| + | </ | ||
| + | |||
| + | ===== GPU hardware acceleration ===== | ||
| + | |||
| + | Make sure the relevant GPU drivers are installed on the base system, then pass through the device via docker compose. | ||
| + | Check devices are available, there should be a device per GPU starting at renderD128 for the first GPU: | ||
| + | < | ||
| + | ls -la /dev/dri | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | devices: | ||
| + | - / | ||
| + | </ | ||
| + | |||
| + | for AMD: | ||
| + | https:// | ||
| + | https:// | ||
| + | < | ||
| + | mkdir --parents --mode=0755 / | ||
| + | wget https:// | ||
| + | echo "deb [arch=amd64 signed-by=/ | ||
| + | echo -e ' | ||
| + | apt update | ||
| + | apt install rocm | ||
| + | </ | ||
| + | Then add to the docker containers: | ||
| + | < | ||
| + | devices: | ||
| + | - /dev/kfd | ||
| + | - /dev/dri | ||
| + | security_opt: | ||
| + | - seccomp=unconfined | ||
| + | environment: | ||
| + | - LIBVA_DRIVER_NAME=radeonsi | ||
| + | </ | ||
| + | |||
| + | Alpine Linux docker images may require libva to be installed: | ||
| + | < | ||
| + | post_start: | ||
| + | # for 13th gen Iris Xe GPUs use intel-media-driver for older gens libva-intel-driver | ||
| + | # - command: apk add libva-intel-driver intel-media-driver | ||
| + | # user: root | ||
| + | # For AMD | ||
| + | - command: apk add libva libva-utils mesa-va-gallium | ||
| + | user: root | ||
| + | </ | ||
| + | |||
| + | nvtop can be used for AMD and NVidia gpus to see if the gpu is being used. | ||
| + | On Debian, nvtop is in the contrib repositories which need to be added. | ||
| + | < | ||
| + | #bookworm | ||
| + | sed -r ' | ||
| + | |||
| + | #new deb822 sources format | ||
| + | sed -i ' | ||
| + | |||
| + | apt update | ||
| + | </ | ||
| + | On Ubuntu systems, nvtop is in the default repositories. | ||
| + | < | ||
| + | apt-get install nvtop | ||
| + | </ | ||
| + | ===== docker ps short ===== | ||
| + | Short form of docker ps to only get the container names: | ||
| + | < | ||
| + | docker ps | sed ' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== docker command template ===== | ||
| + | https:// | ||
| + | ===== docker running out of network addresses ===== | ||
| + | |||
| + | Error response from daemon: all predefined address pools have been fully subnetted | ||
| + | |||
| + | <code json / | ||
| + | { | ||
| + | " | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | ] | ||
| + | } | ||
| + | </ | ||
| + | < | ||
| + | docker restart | ||
| + | docker network prune | ||
| + | </ | ||
| + | |||
linux/docker.1699920443.txt.gz · Last modified: by Wuff