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