Шпаргалка з Docker
Доступний для пошуку та друку довідник з Docker — образи, контейнери, параметри запуску, Dockerfile, томи, мережі, Compose та очищення. Безкоштовно.
Образи
10docker pull nginx:latest
Завантажити образ з реєстру
docker images
Показати локально збережені образи
docker build -t app:1.0 .
Зібрати образ з поточного каталогу
docker tag app:1.0 app:latest
Додати новий тег до наявного образу
docker rmi app:1.0
Видалити локальний образ
docker history app:1.0
Показати шари образу
docker inspect app:1.0
Показати низькорівневі деталі образу (JSON)
docker save -o app.tar app:1.0
Експортувати образ у tar-архів
docker load -i app.tar
Імпортувати образ з tar-архіву
docker image prune
Видалити висячі (невикористані) образи
Контейнери
10docker ps
Показати запущені контейнери
docker ps -a
Показати всі контейнери (включно із зупиненими)
docker run nginx
Створити та запустити новий контейнер
docker start web
Запустити зупинений контейнер
docker stop web
Коректно зупинити контейнер
docker restart web
Перезапустити контейнер
docker kill web
Примусово зупинити контейнер (SIGKILL)
docker rm web
Видалити зупинений контейнер
docker rename web api
Перейменувати контейнер
docker pause web
Призупинити всі процеси в контейнері
Параметри запуску
11docker run -d nginx
Запустити у фоні (detached)
docker run -it ubuntu bash
Інтерактивна термінальна сесія
docker run --name web nginx
Призначити власне ім'я контейнера
docker run -p 8080:80 nginx
Зіставити порт хоста з портом контейнера
docker run -v data:/var/lib nginx
Підключити іменований том
docker run -e ENV=prod app
Встановити змінну середовища
docker run --rm alpine echo hi
Автоматично видалити після завершення
docker run --network mynet app
Під'єднати до конкретної мережі
docker run --restart unless-stopped app
Політика перезапуску контейнера
docker run -w /app node
Встановити робочий каталог
docker run --memory 512m --cpus 1.5 app
Обмежити використання пам'яті та CPU
Виконання та логи
10docker exec -it web bash
Відкрити оболонку всередині контейнера
docker exec web ls /app
Виконати разову команду в контейнері
docker logs web
Показати логи контейнера
docker logs -f web
Стежити за логами в реальному часі (tail)
docker top web
Показати процеси, запущені в контейнері
docker stats
Поточне використання ресурсів контейнерами
docker attach web
Під'єднатися до запущеного контейнера
docker cp web:/app/log.txt .
Копіювати файли між хостом та контейнером
docker port web
Показати зіставлення портів контейнера
docker inspect web
Показати низькорівневі деталі контейнера
Збірка та Dockerfile
14FROM node:20-alpine
Базовий образ для збірки
WORKDIR /app
Встановити робочий каталог
COPY . .
Скопіювати файли в образ
ADD app.tar.gz /app
Копіювати (з авторозпакуванням архівів/URL)
RUN npm install
Виконати команду під час збірки
ENV NODE_ENV=production
Встановити постійну змінну середовища
ARG VERSION=1.0
Аргумент часу збірки
EXPOSE 3000
Задокументувати порт прослуховування
VOLUME /data
Оголосити точку монтування
USER node
Запускати від імені не-root користувача
HEALTHCHECK CMD curl -f localhost
Визначити перевірку справності контейнера
CMD ['node', 'app.js']
Команда за замовчуванням (можна перевизначити)
ENTRYPOINT ['docker-entrypoint.sh']
Фіксований виконуваний файл контейнера
FROM build AS final
Посилання на етап багатоетапної збірки
Томи
10docker volume create data
Створити іменований том
docker volume ls
Показати всі томи
docker volume inspect data
Показати деталі тому
docker volume rm data
Видалити том
docker volume prune
Видалити всі невикористані томи
docker run -v data:/app nginx
Підключити іменований том
docker run -v $(pwd):/app nginx
Прив'язати поточний каталог (bind-mount)
docker run -v $(pwd):/app:ro nginx
Прив'язати лише для читання (bind-mount)
docker run --mount type=volume,src=data,dst=/app nginx
Монтувати з повним синтаксисом
docker run --tmpfs /tmp nginx
Підключити tmpfs у пам'яті
Мережі
10docker network create mynet
Створити мережу, визначену користувачем
docker network ls
Показати мережі
docker network inspect mynet
Показати деталі мережі
docker network connect mynet web
Під'єднати контейнер до мережі
docker network disconnect mynet web
Від'єднати контейнер від мережі
docker network rm mynet
Видалити мережу
docker network prune
Видалити всі невикористані мережі
docker network create -d bridge mynet
Створити мережу з драйвером
docker run --network host nginx
Використати мережевий стек хоста
docker run --network none alpine
Вимкнути мережу для контейнера
Docker Compose
11docker compose up -d
Запустити всі служби у фоні
docker compose down
Зупинити та видалити стек
docker compose ps
Показати служби в стеку
docker compose logs -f
Стежити за логами всіх служб
docker compose build
Зібрати чи перезібрати образи служб
docker compose pull
Завантажити найновіші образи служб
docker compose exec web bash
Виконати команду в запущеній службі
docker compose restart
Перезапустити всі служби
docker compose stop
Зупинити служби без їх видалення
docker compose config
Перевірити та переглянути об'єднану конфігурацію
docker compose up --scale web=3
Запустити кілька реплік служби
Реєстр
8docker login
Автентифікуватися в реєстрі
docker login registry.example.com
Увійти у власний реєстр
docker logout
Видалити збережені облікові дані реєстру
docker tag app user/app:1.0
Позначити образ тегом для репозиторію
docker push user/app:1.0
Завантажити образ у реєстр
docker pull user/app:1.0
Завантажити образ з реєстру
docker search nginx
Шукати образи в Docker Hub
docker manifest inspect nginx
Переглянути мультиархітектурний маніфест
Система та очищення
10docker info
Показати загальносистемну інформацію Docker
docker version
Показати версії клієнта та сервера
docker system df
Показати використання диска Docker
docker system prune
Видалити невикористані дані (безпечні налаштування)
docker system prune -a
Видалити всі невикористані образи та дані
docker container prune
Видалити всі зупинені контейнери
docker image prune
Видалити висячі образи
docker volume prune
Видалити всі невикористані томи
docker network prune
Видалити всі невикористані мережі
docker stats --no-stream
Знімок використання ресурсів
Жоден запис не відповідає “:q”.
Потрібна допомога?
Виникла проблема з цим інструментом? Повідомте нас.