Шпаргалка по Docker

В связи с тем что часто забываю команды докера, решил сделать запись где их перечислю.

Сборка образа из файла Dockerfile (файл опциями сборки образа), учитывая что мы находимся в папке где лежит этот файл.
#$ docker build -t my_docker .
Через ключ -t назначаем имя нашему образу
Точка в конце означает что Dockerfile лежит в текущей директории.

Просмотреть существующие на нашем хосте образы докера
#$ docker images

Просмотреть существующие на нашем хосте контейнеры докера
#$ docker ps -a
-a — по умолчанию показывает только включённые, вместе с ключом выводит все контейнеры.

#$ docker rm — Удалить контейнер
#$ docker rmi — Удалить образ, с ключом —force удалит контейнер и образ

Запустить контейнер и открыть в нём bash
#$ docker run -it -d --name my_container 397bd34237 /bin/bash
run — команда запуска контейнера
-it — перейти в контейнер и запустить внутри контейнера команду
-d запустить контейнер в фоне и вывести его ID
—name — присвоить имя нашему контейнеру
397bd34237 — имя образа
/bin/bash — выполняемая команда в контейнере

Bash скрипт для запуска докер образа

#!/bin/bash
CONFIG=/home/isavel/ELK+KAFKA/for_docker_image/config/
PATTERN=/home/isavel/ELK+KAFKA/for_docker_image/pattern/
LOG=/home/isavel/ELK+KAFKA/for_docker_image/logs

docker run \ # команда запуска
—restart=always -it \ # в случае падения перезапускать контейнер
-p 443:443 -p 80:80 -p 5601:5601 \ # порты из докера на локалхост port_localhost:port_docker_image
-e «TZ=Europe/Moscow» \ # указываем нашему контейнеру timezone
-v $CONFIG:/etc/logstash/conf.d/ \ # прокидываем в контейнер докера директорию с локальной машины
-v $LOG:/var/log/my_log/ \ # прокидываем в контейнер докера директорию с локальной машины
-v $PATTERN:/opt/logstash/patterns/ \ # прокидываем в контейнер докера директории с локальной машины
—name sberteh \ # названием нашего контейнера
5e89f9aa5754 \ # ID запускаемого образа

Копирование внутрь контейнера
docker cp some_files.conf docker_container:/home/docker/

Зайти в уже запущенный контейнер (точнее выполнить команду внутри контейнера)
docker exec -it name_of_container /bin/bash