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

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


shpargalka_docker

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Предыдущая версия
shpargalka_docker [2015/09/24 00:00]
shpargalka_docker [2020/07/03 13:18] (текущий)
daniil [Список команд для работы с контейнерами]
Строка 1: Строка 1:
 +====== Общее ======
 +
 +//Базовая информация об инсталляции://
 +<code>
 +docker info
 +</code>
 +
 +----
 +
 +====== Работа с контейнерами ======
 +===== Список команд для работы с контейнерами =====
 +
 +^  Команда  ^  Применение  ^
 +| **%%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]%%** | //История команд для данного контейнера// |
 +
 +----
 +
 +===== Дополнительные примеры =====
 +  * **<wrap hi>Выход из контейнера</wrap>**
 +//Выйти из контейнера не останавливая его:// \\
 +''Ctrl+p, Ctrl+q'' \\ \\
 +//Выйти из контейнера и остановить его://
 +<code>
 +exit
 +</code>
 +
 +----
 +
 +====== Работа с образами ======
 +===== Список команд для работы с образами =====
 +^  Команда  ^  Примечание  ^
 +| **%%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%%** | //Импорт с локальной директории// |
 +
 +----
 +
 +===== Дополнительные примеры =====
 +
 +  * **<wrap hi>Загрузка образа</wrap>**
 +
 +//Доступные опции://
 +^  Флаг  ^  Значение  ^
 +| **-i** | открыть STDIN |
 +| **-t** | говорит docker открыть pseudo-tty в контейнер |
 +| **-d** | запуск контейнера в фоновом режиме |
 +| **-v** /tmp/src:/src | проброс внутрь контейнера локальной директории |
 +| **-p** 127.0.0.1:8080:80 | проброс порта 80 на хост на порт 8080 |
 +
 +----
 +
 +  * **<wrap hi>Поиск образа</wrap>**
 +Поиск образа с выводом полного текста описания (DESCRIPTION)
 +<code>
 +docker search --no-trunc ubuntu
 +</code>
 +
 +----
 +====== 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** | //Добавляет триггеры в образы. Триггер исполняется, когда образ используется как базовый для другого образа, например, когда исходный код, нужный для образа еще не доступен, но требует для работы конкретного окружения// |
 +
 +----
 +
 +===== Дополнительные примеры =====