Skip to content

Latest commit

 

History

History
77 lines (45 loc) · 6.62 KB

4.3.5 DockerPractise.md

File metadata and controls

77 lines (45 loc) · 6.62 KB

Docker Practise Основные команды

Работа с образами/image

docker search debian # поиск образов по ключевому слову debian

docker images # просмотр локальных образов

docker rmi $(docker images -aq) # удаление всех образов

Работа с контейнерами

echo $(docker inspect -f '"Gateway": "{{.NetworkSettings.Networks.bridge.Gateway}}", "IPAddress": "{{.NetworkSettings.Networks.bridge.IPAddress}}"' suppi-backend-container) # вывод Gateway и IPAddress

-d сокращение от --detach или daemon - вы просто запускаете контейнер как демона, а затем отключаетесь от него. По сути, вы запускаете контейнер в фоновом режиме (программами в режиме демона).

docker logs infallible_archimedes для вывода полученных логов от контейнера, которые не вывелись из-за -d флага

docker exec -it <docker-container-name/docker-container-name> /bin/bash войти внутрь контейнера через оболочку /bin/bash:

-it являются флагами для команды docker runили docker container run(это псевдонимы). Предлагаю узнать, что такое флаги и идти вперед:

-i или --interactive - **ввод**:
Когда вы вводите docker run -i это, это означает, что ваш терминал будет передавать ваш ввод в контейнер (приложение в контейнере), пока вы не нажмете ctrl-D (выйти из контейнера). Например, если какое-то приложение работает в контейнере, ожидающем ввода пользователя, вы можете ввести что-нибудь, и это будет перенаправлено в приложение.

Ключевым здесь является слово «интерактивный». Если вы опустите этот флаг, контейнер все равно будет выполняться в /bin/bash, но немедленно завершится. С этим флагом контейнер выполняется, /bin/bash](/1%20Common/1.3%20Terminal/1.3.3%20CLI/1.3.3.1%20Bash.md) а затем терпеливо ждет вашего ввода.

-t или -tty(Псевдо-TTY) - вывод: если вы добавите этот флаг, выходные данные вашего контейнера будут прикреплены к вашему терминалу.

Объединение двух флагов as -it дает вам возможность заставить ваш контейнер получать ваш стандартный ввод и получать красивый форматированный вывод из контейнера, как если бы вы работали со своим собственным собственным терминалом.

Последующие действия :

Как докер понимает, какое приложение получит мой стандартный ввод (стандартный ввод)?

Когда вы вводите docker run -i , последний аргумент ( ) получит ваши входные данные.

Каково практическое применение обоих флагов по отдельности?

-i полезно, когда вы хотите взаимодействовать с приложением в контейнере, но вам не важно получать форматированный вывод. Например, вы хотите отправить данные в контейнер, получить из него данные и сохранить их в файл. В таком случае -tнет необходимости. echo "my input" | docker run -i > output.txt

-t полезен, когда вам нужен вывод, подобный терминалу, но не требуется, чтобы вводимые данные передавались в контейнер. Допустим, у вас есть скрипт, который запускается внутри контейнера, выводит данные в определенном формате, и после этого данные используются другим скриптом: docker run -t my-image | my-processing-script.sh

Работа с системой докера

docker system info # общая информация о системе (соответствует docker info)

docker system df # занятое место на диске

Очистка дискового пространства

Docker prune

После долгого использования докера на хосте может скопиться много мусора, команды ниже помогут с этим справиться.

Обьект удаления Команда
Тома docker volume prune
Контейнеры docker container prune
Образы docker image prune
build cache docker builder prune
Сети docker network prune
--- ---
Все и сразу, кроме используемых объектов docker system prune
Абсолютно все и сразу docker system prune -a
Абсолютно все и сразу без подтверждения docker system prune -af

По умолчанию в этой команде тома не удаляются, чтобы предотвратить удаление важных данных, если в настоящее время нет контейнера, использующего том. Используйте этот --volumes флаг при запуске команды, чтобы также удалить тома docker system prune -af --volumes


4.3.4 Network Driver Theme | Back To iOSWiki Contents | 4 Swift Theme Folder