Инструменты пользователя

Инструменты сайта


shpargalka_docker

Общее

Базовая информация об инсталляции:

docker info

Работа с контейнерами

Список команд для работы с контейнерами

Команда Применение
docker run --name [container-id] -d -p 80:80 [image name] Запуск контейнера с образа на 80 порту
docker ps Просмотр только запущенных контейнеров
docker ps -a Просмотр запущенных и остановленных контейнеров
docker attach [container-id] Для подсоединения к запущенному контейнеру
docker start [container-id] Запуск контейнера
docker stop [container-id] Остановка запущенного контейнера
docker restart [container-id] Перезагрузка запущенного контейнера
docker kill [container-id] Выключение запущенного контейнера
docker rm [container-id] Удаление остановленного контейнера
docker rm `docker ps -a -q` Удалить все оставшиеся контейнеры
docker commit [container-id] [image name] Создание нового образа с контейнера
docker cp [container-id]:/etc/passwd . Копирование файла с контейнера на хост
docker inspect [container-id] Просмотр информации о контейнере
docker inspect --format="{{.NetworkSettings.IPAddress}}" [container-id] Посмотреть ip адрес запущеного контейнера
docker logs [container-id] Посмотреть log контейнера
docker top [container-id] Посмотреть список процессов контейнера
docker history [container-id] История команд для данного контейнера

Дополнительные примеры

  • Выход из контейнера

Выйти из контейнера не останавливая его:
Ctrl+p, Ctrl+q

Выйти из контейнера и остановить его:

exit

Работа с образами

Список команд для работы с образами

Команда Примечание
docker build -t [image name] . Создание образа с помощью build файла
docker search <WORD> Поиск образа по ключевому слову
docker images Список всех локальных образов
docker commit [container-id] [new-image-name] Запись измененного контейнера под другим именем в локальное хранилище
docker pull [image name] Скачать образ в локальное хранилище
docker rmi [image-id] Удалить контейнер с локального хранилища
docker load < /tmp/myimage.tar Создание образа с tar архива с STDIN
docker save [image name] > /tmp/myimage.tar Запись образа в tar архив в STDOUT
docker import http://example.com/exampleimage.tgz Импорт образа с удаленного файла
docker import - exampleimagelocal:new Импорт с локального файла
docker import - exampleimagedir Импорт с локальной директории

Дополнительные примеры

  • Загрузка образа

Доступные опции:

Флаг Значение
-i открыть STDIN
-t говорит docker открыть pseudo-tty в контейнер
-d запуск контейнера в фоновом режиме
-v /tmp/src:/src проброс внутрь контейнера локальной директории
-p 127.0.0.1:8080:80 проброс порта 80 на хост на порт 8080

  • Поиск образа

Поиск образа с выводом полного текста описания (DESCRIPTION)

docker search --no-trunc ubuntu

Dockerfile

Список доступных опций

Инструкция Значение
.dockerignore Если в корне билд контекста есть файл .dockerignore – он интерпретируется как список паттернов исключений
FROM Первая инструкция в Dockerfile. Указывает, из какого образа нужно построить образ
MAINTAINER Сообщает Docker автора образа и его email
RUN Исполняет команду в конкретном образе
CMD Указывает, какую команду необходимо запустить, когда контейнер запущен. В отличие от команды RUN указанная команда исполняется не во время построения образа, а во время запуска контейнера. Можно перегрузить команду CMD, используя docker run
EXPOSE Говорит Docker, что приложение в контейнере должно использовать определенный порт в контейнере. По соображениям безопасности Docker не открывает порт автоматически, но ожидает, когда это сделает пользователь в команде docker run. Вы можете указать множество инструкций EXPOSE для указания, какие порты должны быть открыты. Также инструкция EXPOSE полезна для проброса портов между контейнерами.
ENV Позволяет посмотреть переменные окружения
ADD Добавляет файлы или папки из нашего билд-окружения в образ. Поддерживает распаковку файлов
COPY Копирует файлы или папки из нашего билд-окружения в образ. Не поддерживает распаковки файлов
ENTRYPOINT Указывает, какую команду необходимо запустить, когда контейнер запущен. Отличается от CMD тем, что вы не можете перегружать ENTRYPOINT при запуске контейнера. Если требуется, вы все-таки можете перегрузить команду ENTRYPOINT с помощью флага --entrypoint
VOLUME Добавляет тома в образ. Том — папка в одном или более контейнерах или папка хоста, проброшенная через Union File System (UFS). Тома могут быть расшарены или повторно использованы между контейнерами. Это позволяет добавлять и изменять данные без коммита в образ
USER Специфицирует пользователя, под которым должен быть запущен образ. Можно указать имя пользователя или UID и группу или GID. Можно перегрузить эту команду, используя -u при запуске контейнера. Если пользователь не указан, используется root по-умолчанию
WORKDIR Позволяет установить рабочую директорию, откуда будут запускаться команды ENTRYPOINT и CMD. Вы можете перегрузить рабочую директорию контейнера в рантайме с помощью флага -w
ONBUILD Добавляет триггеры в образы. Триггер исполняется, когда образ используется как базовый для другого образа, например, когда исходный код, нужный для образа еще не доступен, но требует для работы конкретного окружения

Дополнительные примеры

shpargalka_docker.txt · Последнее изменение: 2020/07/03 13:18 — daniil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki