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]** | //История команд для данного контейнера// | ---- ===== Дополнительные примеры ===== * **<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 | Импорт с локальной директории |
Дополнительные примеры
- Загрузка образа
Доступные опции:
| Флаг | Значение |
|---|---|
| -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.1593771474.txt.gz · Последнее изменение: 2020/07/03 13:17 — daniil
