Docker
Установка Docker и Docker Compose.
Полезные команды
1. sudo systemctl status docker # Проверка, что Docker работает.
2. sudo usermod -aG docker ${USER} # Запуск docker без sudo.
3. docker --help # Просмотр всех команд в docker.
4. docker build . # Собрать образ где . - текущая директория
5. docker build . -f DockerFile.pub # Собрать образ из текущей директории. Флаг -f указывает на файл с инструкцие по сборке контейнера, по умолчанию файл инструкции называется DockerFile.
Установливаем Docker и Docker Compose.
1. sudo apt install -y curl # Установка утилиты для скачивания файлов.
2. wget https://get.docker.com/ -O get-docker.sh # Эта команда скачает скрипт для установки докера.
3. sh get-docker.sh # Запускаем скрипт.
4. sudo apt install docker-ce docker-compose -y # Установка Docker и Docker Compose.
Чтобы проверить что docker установлен, необходимо запустить тестовый контейнер:
docker run hello-world
build
docker build — необходима для сбора своего docker образа. В качестве параметров она принимает директорию сборки (если это текущая директория, можно поставить ., получится — docker build .). Также у команды есть опции параметров, главный из которых -f. При помощи него вы можете указать как называется файл с инструкцией по сборке образа (по умолчанию это Dockerfile).
Сборкой своего первого образа мы займемся в следующем уроке, а сейчас узнаем, что ещё может CLI докера.
1. docker build . # Собрать образ где . - текущая директория
2. docker build . -f DockerFile.pub # Собрать образ из текущей директории. Флаг -f указывает на файл с инструкцие по сборке контейнера, по умолчанию файл инструкции называется DockerFile.
run
Команда docker run <имя_образа> создаёт и запускает контейнер из образа. Кроме обязательного аргумента — имени образа, у неё есть и множество опциональных.
--name. Флаг необходим для задания имени контейнера. По умолчанию имена контейнером имеют только ID.
--rm. Флаг необходим для того чтобы контейнер после завершения работы удалился. Он помогает не захламлять систему контейнерами, пока мы экспериментируем. Используйте его тогда, когда в контейнере нет ничего важного (вроде ваших данных или данных БД).
-it. Флаги означают, запустить docker контейнер определенного имени с интерактивной строкой.
Примеры:
docker run -it ubuntu bash # запуск контейнера с именем ubuntu с запуском bash
docker run -it ubuntu date # запуск контейнера с именем ubuntu с выводом текущей даты и времени

Соберём все изученные флаги docker run в одну команду. Запустим терминал bash в автоудаляемом контейнере Ubuntu с именем my-test-ubuntu:
docker run --rm --name my-test-ubuntu -it ubuntu bash

pull
С docker pull <имя_образа> можно скачать образ, но не запускать его. Например, чтобы потом на нём что-то построить. Предположим, что вы решили скачать образ c nginx, чтобы потом его настроить и раздавать фронтенд.
images
C docker images можно посмотреть, какие образы сохранены на ПК или сервере:
docker images

ps
С docker ps можно посмотреть на запущенные контейнеры:

Ну и не забывайте про флаги, они есть почти для каждой команды. Например, если набрать docker ps --help, то мы узнаем, что можно посмотреть все контейнеры, не только запущенные, при помощи команды docker ps -a.
Обратите внимание на столбец NAMES — докер самостоятельно сгенерировал имя для контейнера. Но мы можем также задать его самостоятельно при помощи флага name у docker run. В командах ниже — можно вместо ID контейнера использовать имя контейнера, которое запомнить куда проще.
start / stop / restart
1. docker stop # останавливает запущенный контейнер, когда он вам больше не нужен.
2. docker start # запуска контейнер
3. docker restart # перезапускает docker контейнер
rm
docker rm уничтожает контейнер, если он уже не нужен. Docker запрещает удалять запущенные контейнеры, но если очень хочется, то можно, при помощи флага -f.
Published @ 17.08.2023 16:56