Files
oam/snippets/docker.sh

49 lines
2.1 KiB
Bash

#!/usr/bin/env sh
docker info
docker info -f 'json'
docker system info --format '{{range .Plugins.Volume}}{{println .}}{{end}}'
docker images -a
docker images --digests
docker volume create 'website'
docker volume inspect -f '{{ .Mountpoint }}' 'website'
sudo vim '/var/lib/docker/volumes/website/_data/index.html'
docker run -d --name 'some-nginx' -v '/some/content:/usr/share/nginx/html:ro' 'nginx'
docker logs --since '5m' -f 'dblab_server'
docker logs --since '2024-09-07' 'dblab_server'
docker logs --since '2024-09-09T09:05:00' --until '2024-09-09T10:05:00' 'dblab_server'
docker login
docker login -u 'whatever' -p 'glpat-ABC012def345GhI678jKl' 'gitlab.example.org:5050'
aws ecr get-login-password | docker login --username 'AWS' --password-stdin '012345678901.dkr.ecr.eu-west-1.amazonaws.com'
# Get image digests with*out* pulling them
docker buildx imagetools inspect 'pulumi/pulumi-nodejs' --format '{{ json .Manifest.Digest }}'
docker buildx imagetools inspect 'pulumi/pulumi-nodejs' --format '{{ json .Manifest }}' | jq -r '.digest' -
# Send images to remote nodes with Docker
docker save 'local/image:latest' | ssh -C 'user@remote.host' docker load
# Inspect resources
docker inspect 'ghcr.io/jqlang/jq:latest' # image
docker inspect 'host' # network
docker inspect 'prometheus-1' # container
# Install compose directly from package
dnf install 'https://download.docker.com/linux/fedora/41/aarch64/stable/Packages/docker-compose-plugin-2.32.1-1.fc41.aarch64.rpm'
# Create non-standard volumes
docker volume create --driver 'flocker' -o 'size=20GB' 'my-named-volume'
docker volume create --driver 'local' --opt 'type=tmpfs' --opt 'device=tmpfs' --opt 'o=size=100m,uid=1000' 'foo'
docker volume create --driver 'local' --opt 'type=btrfs' --opt 'device=/dev/sda2'
docker volume create --driver 'convoy' --opt 'size=100m' 'test'
# Use temporary, size-limited volumes in Mac OS X
# The example uses a 2GB RAM disk
hdiutil attach -nomount 'ram://4194304' | xargs diskutil erasevolume HFS+ 'ramdisk' \
&& docker run --rm --name 'alpine' -v "/Volumes/ramdisk/:/ramdisk" -it 'alpine' sh