Различия

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

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

shpargalka_docker [2015/09/24 00:00] (текущий)
Строка 1: Строка 1:
 +====== Общее ======
 +
 +//​Базовая информация об инсталляции://​
 +<​code>​
 +docker info
 +</​code>​
 +
 +----
 +
 +====== Работа с контейнерами ======
 +===== Список команд для работы с контейнерами =====
 +
 +^  Команда ​ ^  Применение ​ ^
 +| **%%docker run --name [container-id] -d -p 80:80 [image name]%%** | //​Запуск контейнера с образа на 80 порту//​ |
 +| **%%docker ps -a%%** | //​Просмотр только запущенных контейнеров//​ |
 +| **%%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** | //​Добавляет триггеры в образы. Триггер исполняется,​ когда образ используется как базовый для другого образа,​ например,​ когда исходный код, нужный для образа еще не доступен,​ но требует для работы конкретного окружения//​ |
 +
 +----
 +
 +===== Дополнительные примеры =====
  
  • shpargalka_docker.txt
  • Последние изменения: 2015/09/24 00:00
  • (внешнее изменение)