<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>@ekaterina_tebenkova</title><author><name>@ekaterina_tebenkova</name></author><id>https://teletype.in/atom/ekaterina_tebenkova</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/ekaterina_tebenkova?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@ekaterina_tebenkova?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=ekaterina_tebenkova"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/ekaterina_tebenkova?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-17T06:26:58.868Z</updated><entry><id>ekaterina_tebenkova:Jpx5jjOOYSg</id><link rel="alternate" type="text/html" href="https://teletype.in/@ekaterina_tebenkova/Jpx5jjOOYSg?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=ekaterina_tebenkova"></link><title>Docker</title><published>2023-03-04T11:50:28.888Z</published><updated>2023-03-04T11:50:28.888Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/82/bb/82bb1bee-e7bb-48b5-8f13-ba1b61636d0d.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/57/b1/57b13de7-c989-4017-9477-ef0eb1574d0c.png&quot;&gt;Краткий конспект по курсу на Stepik</summary><content type="html">
  &lt;p id=&quot;m7wv&quot;&gt;Краткий конспект по курсу на &lt;a href=&quot;https://stepik.org/course/123300/syllabus&quot; target=&quot;_blank&quot;&gt;Stepik&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;TDEd&quot;&gt;Контейнеры в docker - это полностью изолированные среды, в них свои процессы и службы, собственные сетевые интерфейсы, собственные средства монтирования.&lt;/p&gt;
  &lt;p id=&quot;bBs9&quot;&gt;Docker образ - это пакет или шаблон, аналогичный шаблону виртуальной машины. Он используется для создания одного или нескольких контейнеров. Docker запускает экземпляры образов, которые изолированы и имеют собственные среды и процессы.&lt;/p&gt;
  &lt;p id=&quot;ex8Z&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;T7pN&quot;&gt;Установка Docker на Linux (Ubuntu)&lt;/h2&gt;
  &lt;p id=&quot;tMda&quot;&gt;Ссылка на официальную документацию по установке на&lt;a href=&quot;https://docs.docker.com/engine/install/ubuntu/&quot; target=&quot;_blank&quot;&gt; Ubuntu&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;qLQ9&quot;&gt;Перед установкой необходимо удалить старые версии докера. Для этого в терминале вводим команду&lt;/p&gt;
  &lt;pre id=&quot;msNz&quot; data-lang=&quot;bash&quot;&gt;sudo apt-get remove docker docker-engine docker.io containerd runc&lt;/pre&gt;
  &lt;p id=&quot;MlVL&quot;&gt;Установка репозитория и зависимостей Docker&lt;/p&gt;
  &lt;pre id=&quot;7H0R&quot; data-lang=&quot;bash&quot;&gt;curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh&lt;/pre&gt;
  &lt;p id=&quot;LpKu&quot;&gt;Если не установлен curl, то установить командой&lt;/p&gt;
  &lt;pre id=&quot;4DT6&quot; data-lang=&quot;bash&quot;&gt;sudo apt install -y curl&lt;/pre&gt;
  &lt;p id=&quot;U4VJ&quot;&gt;Добавить своего пользователя в группу Docker, чтобы работать с образами и контейнерами без sudo&lt;/p&gt;
  &lt;pre id=&quot;lKNH&quot; data-lang=&quot;bash&quot;&gt;sudo usermod -aG docker @USER&lt;/pre&gt;
  &lt;p id=&quot;CI5h&quot;&gt;Убеждаемся, что установка Docker прошла успешно&lt;/p&gt;
  &lt;pre id=&quot;nxOp&quot; data-lang=&quot;bash&quot;&gt;service docker start
docker run hello-world&lt;/pre&gt;
  &lt;p id=&quot;Dhp5&quot;&gt;Должно появится следующее окно&lt;/p&gt;
  &lt;figure id=&quot;Dvs0&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/57/b1/57b13de7-c989-4017-9477-ef0eb1574d0c.png&quot; width=&quot;738&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;qJCU&quot;&gt;Чтобы проверить какая версия докера установлена, нужно набрать команду:&lt;/p&gt;
  &lt;pre id=&quot;kPqQ&quot; data-lang=&quot;bash&quot;&gt;docker version&lt;/pre&gt;
  &lt;p id=&quot;dwwI&quot;&gt;Чтобы обновить Docker, нужно повторить всю процедуру сначала, то есть удалить старую версию и установить новую. В этом случае данную инструкцию повторить сначала.&lt;/p&gt;
  &lt;p id=&quot;B0XD&quot;&gt;Если необходимо удалить без переустановки, то действовать по следующим шагам, описаны ниже.&lt;/p&gt;
  &lt;p id=&quot;wAHH&quot;&gt;Удаление Docker, CLI, контейнеров и Docker Compose:&lt;/p&gt;
  &lt;pre id=&quot;2Vsj&quot; data-lang=&quot;bash&quot;&gt;sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras&lt;/pre&gt;
  &lt;p id=&quot;ErEx&quot;&gt;Удаление images, containers и volumes из пользовательских библиотек&lt;/p&gt;
  &lt;pre id=&quot;7dJu&quot; data-lang=&quot;bash&quot;&gt;sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd&lt;/pre&gt;
  &lt;p id=&quot;qpA3&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;aFGn&quot;&gt;Команды Docker&lt;/h2&gt;
  &lt;p id=&quot;LFZr&quot;&gt;docker run &lt;em&gt;название образа&lt;/em&gt; - используется для запуска контейнера из образа&lt;/p&gt;
  &lt;p id=&quot;K8OD&quot;&gt;docker ps - просмотреть список запущенных контейнеров и информацию о них&lt;/p&gt;
  &lt;p id=&quot;9iJ4&quot;&gt;docker ps -a - показывает весь список контейнеров и запущенных и нет&lt;/p&gt;
  &lt;p id=&quot;v4Kv&quot;&gt;docker stop &lt;em&gt;id контейнера или его имя&lt;/em&gt; - остановить работающий контейнер&lt;/p&gt;
  &lt;p id=&quot;QCdo&quot;&gt;docker rm &lt;em&gt;название контейнера&lt;/em&gt; - удалить существующий контейнер (rm сокращенно от remove)&lt;/p&gt;
  &lt;p id=&quot;Dgbw&quot;&gt;docker images - показывает все доступные на хосте образы, их id, теги и размеры&lt;/p&gt;
  &lt;p id=&quot;7DX8&quot;&gt;docker rmi &lt;em&gt;название образа&lt;/em&gt; - удаление образов&lt;/p&gt;
  &lt;p id=&quot;C1Dc&quot;&gt;docker pull &lt;em&gt;название образа&lt;/em&gt; - скачает образ, но не будет его запускать&lt;/p&gt;
  &lt;p id=&quot;LiYc&quot;&gt;docker exec &lt;em&gt;название или id контейнера&lt;/em&gt; cat /etc/&lt;em&gt;название образа&lt;/em&gt; - используется для выполнения команд в работающем докер контейнере&lt;/p&gt;
  &lt;p id=&quot;7uPi&quot;&gt;ctrl + c - для выхода (для остановки работы контейнера)&lt;/p&gt;
  &lt;p id=&quot;qn2N&quot;&gt;docker run -d &lt;em&gt;название контейнера&lt;/em&gt; - для запуска контейнера в фоновом режиме&lt;/p&gt;
  &lt;p id=&quot;0SpS&quot;&gt;docker attach &lt;em&gt;id или имя контейнера&lt;/em&gt; - прикрепить контейнер к консоли&lt;/p&gt;
  &lt;p id=&quot;eCHr&quot;&gt;docker stats - посмотреть статистику по контейнерам (какой объем памяти потребляют и т.п.)&lt;/p&gt;
  &lt;p id=&quot;N1oy&quot;&gt;docker run -it --name webserver nginx - запустить контейнер с названием &lt;code&gt;webserver&lt;/code&gt; с образом &lt;code&gt;nginx&lt;/code&gt; в интерактивном режиме&lt;/p&gt;
  &lt;p id=&quot;lgp2&quot;&gt;docker update --restart always redis - используется для обновления restart policy контейнера redis в значение &lt;code&gt;always&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;m4MB&quot;&gt;docker container cp webapp:/etc/nginx /tmp/ - скопировать директорию &lt;code&gt;nginx&lt;/code&gt; из контейнера &lt;code&gt;webapp&lt;/code&gt; на хост по пути &lt;code&gt;/tmp/&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;BncJ&quot;&gt;docker system info - проверить драйвер логирования по умолчанию&lt;/p&gt;
  &lt;p id=&quot;CXYa&quot;&gt;docker run -it -d --log-driver none redis - запустить контейнер &lt;code&gt;redis&lt;/code&gt; и быть уверенным, что для него не будет настроено логов&lt;/p&gt;
  &lt;p id=&quot;R8Qj&quot;&gt;sudo systemctl status docker - проверить статус службы &lt;code&gt;docker&lt;/code&gt; на хосте&lt;/p&gt;
  &lt;p id=&quot;prOr&quot;&gt;-p 8080:80/udp - настроит Docker на проброс порта 80 UDP в контейнере на порт 8080 докер-хоста&lt;/p&gt;
  &lt;p id=&quot;IOKa&quot;&gt;docker run -p 80:5000 nginx/webapp - пользователи смогут получить доступ по &lt;a href=&quot;http://10.0.0.13:80&quot; target=&quot;_blank&quot;&gt;http://10.0.0.13:80&lt;/a&gt; весь трафик, полученный на порт 80 будет маршрутизироваться на порт контейнера(5000).&lt;/p&gt;
  &lt;p id=&quot;ZKhv&quot;&gt;docker inspect webapp - получить сводку важной информации о контейнере &lt;code&gt;webapp&lt;/code&gt; (например сетевые адреса, переменные окружения, политику рестарта и т.д.)&lt;/p&gt;
  &lt;p id=&quot;AM4B&quot;&gt;docker logs -f my-app - получить поток логов контейнера &lt;code&gt;my-app&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;KXE4&quot;&gt;docker run -v /opt/datadir/:/var/lib/mysql mysql - хранение специальных данных в контейнере. Нужно для того, чтобы при удалении контейнера не потерялись необходимые данные. В примере данные не будут храниться в контейнере, а будут подключены из вне, в данном случае из директории /opt/datadir/.&lt;/p&gt;
  &lt;p id=&quot;zuFc&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;ogkw&quot;&gt;Список доступных образов для запуска можно посмотреть на сайте &lt;a href=&quot;https://hub.docker.com/search?q=&quot; target=&quot;_blank&quot;&gt;dockerhub&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;11sT&quot;&gt;Создание контейнера с образом redis и именем redis без запуска:&lt;/p&gt;
  &lt;pre id=&quot;EjoH&quot; data-lang=&quot;bash&quot;&gt;docker create --name redis redis&lt;/pre&gt;
  &lt;p id=&quot;nnLi&quot;&gt;Чтобы запустить образ набираем команду&lt;/p&gt;
  &lt;pre id=&quot;xW9q&quot; data-lang=&quot;bash&quot;&gt;docker run название образа&lt;/pre&gt;
  &lt;pre id=&quot;rX5u&quot; data-lang=&quot;bash&quot;&gt;docker run redis - запуск redis&lt;/pre&gt;
  &lt;pre id=&quot;25EH&quot; data-lang=&quot;bash&quot;&gt;docker run ansible - запуск ansible&lt;/pre&gt;
  &lt;pre id=&quot;L0BR&quot; data-lang=&quot;bash&quot;&gt;docker run redis:5.0 - запуск определенной версии образа&lt;/pre&gt;
  &lt;p id=&quot;NVnQ&quot;&gt;Чтобы войти в контейнер, используем параметр -it. Пример, запускаем контейнер с операционной системой alpine, с помощью параметра -it входим внутрь контейнера, sh - для запуска оболочки shell. С помощью приведенной ниже команды запустилась операционная система alpine и оболочка shell. Теперь мы можем работать с операционной системой alpine через терминал. Чтобы выйти из терминала alpine, нужно набрать exit.&lt;/p&gt;
  &lt;pre id=&quot;3Ltn&quot; data-lang=&quot;bash&quot;&gt;docker run -it alpine sh&lt;/pre&gt;
  &lt;p id=&quot;cePk&quot;&gt;Чтобы запустить приложение в фоне нужно добавить в команду параметр -d.&lt;/p&gt;
  &lt;pre id=&quot;NOdp&quot; data-lang=&quot;bash&quot;&gt;docker run -d alpine&lt;/pre&gt;
  &lt;p id=&quot;xhs3&quot;&gt;Команда для запуска контейнера с образом и определенным именем. В примере мы запускаем контейнер с именем webapp из образа nginx:1.14-alpine: &lt;/p&gt;
  &lt;pre id=&quot;SqWh&quot; data-lang=&quot;bash&quot;&gt;docker run --name webapp nginx:1.14-alpine&lt;/pre&gt;
  &lt;p id=&quot;IBAQ&quot;&gt;Прежде чем удалять докер образ, необходимо удалить его контейнеры.&lt;/p&gt;
  &lt;pre id=&quot;Yjo1&quot; data-lang=&quot;bash&quot;&gt;docker stop $(docker ps -q) - остановить все контейнеры&lt;/pre&gt;
  &lt;pre id=&quot;1Rng&quot; data-lang=&quot;bash&quot;&gt;docker rm название контейнера - удаление контейнера&lt;/pre&gt;
  &lt;pre id=&quot;uaWP&quot; data-lang=&quot;bash&quot;&gt;docker rm $(docker ps -aq) - удаление всех контейнеров
docker rm -f(docker ps -aq) - остановить и удалить все контейнеры&lt;/pre&gt;
  &lt;pre id=&quot;0pnT&quot; data-lang=&quot;bash&quot;&gt;docker rmi название образа - удаление образа&lt;/pre&gt;

</content></entry><entry><id>ekaterina_tebenkova:AMRPZIyf8kj</id><link rel="alternate" type="text/html" href="https://teletype.in/@ekaterina_tebenkova/AMRPZIyf8kj?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=ekaterina_tebenkova"></link><title>Agile - манифест</title><published>2023-03-04T06:44:58.616Z</published><updated>2023-03-04T06:44:58.616Z</updated><summary type="html">Набор 4 ценностей для разработчиков.</summary><content type="html">
  &lt;p id=&quot;UdLC&quot;&gt;Набор 4 ценностей для разработчиков.&lt;/p&gt;
  &lt;p id=&quot;S2yo&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;lEMn&quot;&gt;Ценности&lt;/h3&gt;
  &lt;p id=&quot;b53a&quot;&gt;Люди и взаимодействие важнее процессов и технологий (инструментов). Это значит, что люди, и то, как они взаимодействуют друг с другом, определяет какими будут процессы и какие технологии при этом они будут использовать.&lt;/p&gt;
  &lt;p id=&quot;TyUA&quot;&gt;Работающий продукт важнее исчерпывающей документации. Документация нужна и важна, при этом самое главное это работающий продукт. И уже он определит, какая необходима документация.&lt;/p&gt;
  &lt;p id=&quot;OFIV&quot;&gt;Сотрудничество с заказчиком важнее согласования условий контракта. Самое важное получить от заказчика обратную связь, сделать так, чтобы он был доволен результатом. А согласование требований и условий контракта вторично, но тем не менее, тоже важно.&lt;/p&gt;
  &lt;p id=&quot;gUar&quot;&gt;Готовность к изменениям важнее следованию по первоначальному плану. Очень важно вовремя остановиться, изменить план, скорректировать изменившиеся внешние факторы и остановиться делать то, что уже потеряло свою актуальность.&lt;/p&gt;

</content></entry></feed>