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
