197 lines
4.2 KiB
YAML
197 lines
4.2 KiB
YAML
# Docker snippets - trigger schema: }d<command>
|
|
# d = docker
|
|
|
|
matches:
|
|
# === CORE COMMANDS ===
|
|
- trigger: "}dr"
|
|
replace: "docker run {{mode}} {{ports}} {{img}}"
|
|
vars:
|
|
- name: img
|
|
type: choice
|
|
params:
|
|
values: ["$|$", "nginx"]
|
|
- name: mode
|
|
type: choice
|
|
params:
|
|
values: ["", "-d", "-it", "-d --rm"]
|
|
- name: ports
|
|
type: choice
|
|
params:
|
|
values: ["", "-p 8080:80", "-p 3000:3000", "-p 5432:5432"]
|
|
|
|
- trigger: "}db"
|
|
replace: "docker build -t {{tag}} {{ctx}}"
|
|
vars:
|
|
- name: tag
|
|
type: choice
|
|
params:
|
|
values: ["$|$", "my-app:latest"]
|
|
- name: ctx
|
|
type: choice
|
|
params:
|
|
values: [".", "/path/to/context"]
|
|
|
|
- trigger: "}dp"
|
|
replace: "docker push $|$"
|
|
|
|
- trigger: "}dpl"
|
|
replace: "docker pull $|$"
|
|
|
|
- trigger: "}dps"
|
|
replace: "docker ps {{opt}}"
|
|
vars:
|
|
- name: opt
|
|
type: choice
|
|
params:
|
|
values:
|
|
["", "-a", '--format "table {{.Names}}\t{{.Image}}\t{{.Status}}"']
|
|
|
|
- trigger: "}di"
|
|
replace: "docker images"
|
|
|
|
- trigger: "}dst"
|
|
replace: "docker stop $|$"
|
|
|
|
- trigger: "}dsta"
|
|
replace: "docker stop $(docker ps -q)"
|
|
|
|
- trigger: "}drm"
|
|
replace: "docker rm $|$"
|
|
|
|
- trigger: "}drmi"
|
|
replace: "docker rmi $|$"
|
|
|
|
- trigger: "}dl"
|
|
replace: "docker logs -f $|$"
|
|
|
|
- trigger: "}de"
|
|
replace: "docker exec -it {{cnt}} {{cmd}}"
|
|
vars:
|
|
- name: cnt
|
|
type: choice
|
|
params:
|
|
values: ["$|$", "<container>"]
|
|
- name: cmd
|
|
type: choice
|
|
params:
|
|
values: ["sh", "bash", "/bin/bash"]
|
|
|
|
- trigger: "}dpr"
|
|
replace: "docker system prune -f"
|
|
|
|
- trigger: "}dpra"
|
|
replace: "docker system prune -a --volumes -f"
|
|
|
|
- trigger: "}din"
|
|
replace: "docker inspect $|$"
|
|
|
|
# === COMPOSE ===
|
|
- trigger: "}dcu"
|
|
replace: "docker compose up {{opt}}"
|
|
vars:
|
|
- name: opt
|
|
type: choice
|
|
params:
|
|
values: ["$|$", "-d", "--build", "-d --build"]
|
|
|
|
- trigger: "}dcd"
|
|
replace: "docker compose down {{opt}}"
|
|
vars:
|
|
- name: opt
|
|
type: choice
|
|
params:
|
|
values: ["", "--volumes", "--rmi all"]
|
|
|
|
- trigger: "}dcl"
|
|
replace: "docker compose logs -f $|$"
|
|
|
|
- trigger: "}dce"
|
|
replace: "docker compose exec {{svc}} {{cmd}}"
|
|
vars:
|
|
- name: svc
|
|
type: choice
|
|
params:
|
|
values: ["$|$", "web", "db", "api"]
|
|
- name: cmd
|
|
type: choice
|
|
params:
|
|
values: ["sh", "bash", "python manage.py migrate"]
|
|
|
|
- trigger: "}dcb"
|
|
replace: "docker compose build $|$"
|
|
|
|
# === DOCKERFILE SNIPPETS ===
|
|
- trigger: "}df"
|
|
replace: |
|
|
FROM {{base}}
|
|
WORKDIR /app
|
|
COPY . .
|
|
RUN {{run}}
|
|
EXPOSE {{port}}
|
|
CMD ["{{cmd}}"]
|
|
vars:
|
|
- name: base
|
|
type: choice
|
|
params:
|
|
values: ["$|$", "node:20-alpine", "python:3.11-slim", "ubuntu:22.04"]
|
|
- name: run
|
|
type: choice
|
|
params:
|
|
values:
|
|
[
|
|
"npm ci",
|
|
"pip install -r requirements.txt",
|
|
"apt update && apt install -y <pkg>",
|
|
]
|
|
- name: port
|
|
type: choice
|
|
params:
|
|
values: ["3000", "8000", "80", "8080"]
|
|
- name: cmd
|
|
type: choice
|
|
params:
|
|
values: ["npm start", "python app.py", "node server.js"]
|
|
|
|
- trigger: "}dfn"
|
|
replace: |
|
|
FROM node:20-alpine
|
|
WORKDIR /app
|
|
COPY package*.json ./
|
|
RUN npm ci
|
|
COPY . .
|
|
EXPOSE 3000
|
|
CMD ["npm", "start"]
|
|
|
|
- trigger: "}dfp"
|
|
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"]
|
|
|
|
# === CONFIG ===
|
|
- trigger: "}dign"
|
|
replace: |
|
|
.git
|
|
node_modules
|
|
.env
|
|
*.log
|
|
dist/
|
|
build/
|
|
.dockerignore
|
|
|
|
- trigger: "}denv"
|
|
replace: "ENV {{key}}={{val}}"
|
|
vars:
|
|
- name: key
|
|
type: choice
|
|
params:
|
|
values: ["$|$", "NODE_ENV", "PORT", "DEBUG"]
|
|
- name: val
|
|
type: choice
|
|
params:
|
|
values: ["production", "3000", "true", "false"]
|