# Docker Snippets for Espanso matches: # === Core Docker Commands === - trigger: "}dckr" replace: "docker run $1$ $2$ $3$ $4$" vars: - name: image type: choice params: values: ["$|$", "nginx", "postgres:15", "redis:alpine", "node:20"] - name: mode type: choice params: values: ["", "-d", "-it"] - name: ports type: choice params: values: ["", "-p 8080:80", "-p 3000:3000", "-p 5432:5432"] - name: volumes type: choice params: values: ["", "-v $(pwd):/app", "-v ~/data:/var/lib/postgresql/data", ""] - trigger: "}dckb" replace: "docker build -t $1$ $2$" vars: - name: tag type: choice params: values: ["$|$", "my-app:v1", "my-app:latest"] - name: context type: choice params: values: [".", "/path/to/build/context", ""] - trigger: "}dckp" replace: "docker push $1$" vars: - name: image type: choice params: values: ["$|$", "my-app:v1", "registry.example.com/my-app:latest"] - trigger: "}dckpl" replace: "docker pull $1$" vars: - name: image type: choice params: values: ["$|$", "nginx:latest", "postgres:15-alpine"] - trigger: "}dckps" replace: "docker ps $1$" vars: - name: option type: choice params: values: ["", "-a", "--format \"table {{.Names}}\t{{.Image}}\t{{.Ports}}\""] - trigger: "}dckim" replace: "docker images" - trigger: "}dckstop" replace: "docker stop $1$" vars: - name: target type: choice params: values: ["$|$", "", "$(docker ps -q)"] - trigger: "}dckstopa" replace: "docker stop $(docker ps -q)" label: Stop ALL running containers (use with caution!) - trigger: "}dckrm" replace: "docker rm $1$" vars: - name: target type: choice params: values: ["$|$", "", "$(docker ps -aq)"] - trigger: "}dckrmi" replace: "docker rmi $1$" vars: - name: target type: choice params: values: ["$|$", "", "$(docker images -q)"] - trigger: "}dcklog" replace: "docker logs -f $1$" vars: - name: container type: choice params: values: ["$|$", ""] - trigger: "}dckex" replace: "docker exec -it $1$ $2$" vars: - name: container type: choice params: values: ["$|$", ""] - name: command type: choice params: values: ["sh", "bash", "/bin/bash", ""] - trigger: "}dckprune" replace: "docker system prune -f" - trigger: "}dckpruneall" replace: "docker system prune -a --volumes -f" label: Remove ALL unused Docker resources (irreversible!) - trigger: "}dckinspect" replace: "docker inspect $1$" vars: - name: target type: choice params: values: ["$|$", "", ""] # === Docker Compose Commands === - trigger: "}dckcu" replace: "docker compose up $1$ $2$" vars: - name: option type: choice params: values: ["", "-d", "--build"] - name: service type: choice params: values: ["$|$", "", "web", "db", "redis"] - trigger: "}dckcd" replace: "docker compose down $1$" vars: - name: option type: choice params: values: ["", "--volumes", "--rmi all"] - trigger: "}dckcl" replace: "docker compose logs -f $1$" vars: - name: service type: choice params: values: ["$|$", "web", "db", ""] - trigger: "}dckex" replace: "docker compose exec $1$ $2$" vars: - name: service type: choice params: values: ["$|$", "web", "db"] - name: command type: choice params: values: ["sh", "bash", "python manage.py migrate", ""] - trigger: "}dckcb" replace: "docker compose build $1$" vars: - name: service type: choice params: values: ["$|$", "web", "db", ""] # === Dockerfile Snippets === - trigger: "}dckfile" replace: | FROM $1$ WORKDIR /app COPY . . RUN $2$ EXPOSE 80 CMD ["$3$"] vars: - name: base_image type: choice params: values: ["$|$", "alpine:latest", "ubuntu:22.04"] - name: install_cmd type: choice params: values: [ "apt update && apt install -y ", "apk add --no-cache ", "pip install -r requirements.txt", "", ] - name: start_cmd type: choice params: values: ["nginx -g 'daemon off;'", "python app.py", "node server.js", ""] - trigger: "}dckfile-node" replace: | FROM node:20-alpine WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . EXPOSE 3000 CMD ["npm", "start"] - trigger: "}dckfile-py" replace: | FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 8000 CMD ["python", "app.py"] # === Common Config Snippets === - trigger: "}dckignore" replace: | .git node_modules .env *.log Dockerfile .dockerignore dist/ build/ - trigger: "}dckenv" replace: "ENV $1$=$2$" vars: - name: key type: choice params: values: ["$|$", "NODE_ENV", "PORT", "DB_HOST", "DEBUG"] - name: value type: choice params: values: ["production", "3000", "localhost", "true", ""]