🚀 Шпаргалка по Docker 🐳
🔹 Сборка (Build)
🔹 Запуск (Run)
🔹 Шаринг (Share)
🔹 Управление (Management)
📌 Сборка образов
📍 Создать образ из `Dockerfile` и присвоить тег:
```
docker build -t myimage:1.0 .
```
📍 Посмотреть локальные образы:
```
docker image ls
```
📍 Удалить образ:
```
docker image rm alpine:3.4
```
📌 Запуск контейнеров
📍 Запустить контейнер на порту 5000:
```
docker container run —name web -p 5000:80 alpine:3.9
```
📍 Остановить контейнер:
```
docker container stop web
```
📍 Принудительно завершить контейнер:
```
docker container kill web
```
📍 Список запущенных контейнеров:
```
docker container ls
```
📍 Удалить все контейнеры:
```
docker container rm -f $(docker ps -aq)
```
📌 Работа с образами (Share)
📍 Скачать образ из реестра:
```
docker pull myimage:1.0
```
📍 Изменить тег у локального образа:
```
docker tag myimage:1.0 myrepo/myimage:2.0
```
📍 Запушить образ в реестр:
```
docker push myrepo/myimage:2.0
```
📌 Управление Docker (Management)
⚙️ `docker app` – Управление приложениями
⚙️ `docker image` – Управление образами
⚙️ `docker container` – Управление контейнерами
⚙️ `docker network` – Управление сетями
⚙️ `docker volume` – Управление хранилищами
⚙️ `docker stack` – Управление Docker Stack
⚙️ `docker swarm` – Управление кластером Swarm
⚙️ `docker system` – Управление всей системой
📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳
#devops #девопс
Подпишись 👉@i_DevOps (https://vk.com/club216361228)
@python_be1
🔹 Сборка (Build)
🔹 Запуск (Run)
🔹 Шаринг (Share)
🔹 Управление (Management)
📌 Сборка образов
📍 Создать образ из `Dockerfile` и присвоить тег:
```
docker build -t myimage:1.0 .
```
📍 Посмотреть локальные образы:
```
docker image ls
```
📍 Удалить образ:
```
docker image rm alpine:3.4
```
📌 Запуск контейнеров
📍 Запустить контейнер на порту 5000:
```
docker container run —name web -p 5000:80 alpine:3.9
```
📍 Остановить контейнер:
```
docker container stop web
```
📍 Принудительно завершить контейнер:
```
docker container kill web
```
📍 Список запущенных контейнеров:
```
docker container ls
```
📍 Удалить все контейнеры:
```
docker container rm -f $(docker ps -aq)
```
📌 Работа с образами (Share)
📍 Скачать образ из реестра:
```
docker pull myimage:1.0
```
📍 Изменить тег у локального образа:
```
docker tag myimage:1.0 myrepo/myimage:2.0
```
📍 Запушить образ в реестр:
```
docker push myrepo/myimage:2.0
```
📌 Управление Docker (Management)
⚙️ `docker app` – Управление приложениями
⚙️ `docker image` – Управление образами
⚙️ `docker container` – Управление контейнерами
⚙️ `docker network` – Управление сетями
⚙️ `docker volume` – Управление хранилищами
⚙️ `docker stack` – Управление Docker Stack
⚙️ `docker swarm` – Управление кластером Swarm
⚙️ `docker system` – Управление всей системой
📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳
#devops #девопс
Подпишись 👉@i_DevOps (https://vk.com/club216361228)
@python_be1
ВКонтакте
DevOps
Пишем о Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование и тд.
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Python трюк: динамическое добавление методов в класс
Мало кто знает, но в Python можно на лету добавлять методы в уже созданный класс. Это удобно для плагинов, тестов или динамических API.
⚡ Приём называется monkey patching.
Это мощный инструмент — но им надо пользоваться аккуратно, чтобы не сломать читаемость кода.
#Python, #программирование, #кодинг, #разработка, #собеседование, #интервью, #PythonJobs, #DataScience, #MachineLearning, #AI, #backend, #webdev, #Django, #Flask, #FastAPI, #API, #REST, #asyncio, #многопоточность, #многозадачность, #библиотеки, #NumPy, #Pandas, #TensorFlow, #PyTorch, #SQL, #ORM, #SQLAlchemy, #тестирование, #unittest, #pytest, #TDD, #алгоритмы, #структурыданных, #OOP, #паттерныпроектирования, #чистыйкод, #DevOps, #CICD, #Docker, #Kubernetes, #AWS, #Azure, #GCP, #скрипты, #автоматизация, #BigData, #анализданных,
@python_be1
Мало кто знает, но в Python можно на лету добавлять методы в уже созданный класс. Это удобно для плагинов, тестов или динамических API.
⚡ Приём называется monkey patching.
Это мощный инструмент — но им надо пользоваться аккуратно, чтобы не сломать читаемость кода.
#Python, #программирование, #кодинг, #разработка, #собеседование, #интервью, #PythonJobs, #DataScience, #MachineLearning, #AI, #backend, #webdev, #Django, #Flask, #FastAPI, #API, #REST, #asyncio, #многопоточность, #многозадачность, #библиотеки, #NumPy, #Pandas, #TensorFlow, #PyTorch, #SQL, #ORM, #SQLAlchemy, #тестирование, #unittest, #pytest, #TDD, #алгоритмы, #структурыданных, #OOP, #паттерныпроектирования, #чистыйкод, #DevOps, #CICD, #Docker, #Kubernetes, #AWS, #Azure, #GCP, #скрипты, #автоматизация, #BigData, #анализданных,
@python_be1
📌 Git Revert vs Git Reset: В чём разница? 🔄
Когда вы делаете ошибку в Git, важно понимать, как правильно её исправить. Два самых популярных способа — `git revert` и `git reset`. Но они работают по-разному!
### 🔹 Git Revert
- Создаёт новый коммит, который отменяет изменения из проблемного коммита.
- История сохраняется полностью — всё видно, даже ошибка.
- Безопасный вариант для публичных веток (например, `main`).
- Не удаляет коммиты — просто "откатывает" их эффект.
> 💡 Пример:
> C1 → C2 → C3 (ошибка) → C4: Revert C3
> Результат: ошибка отменена, но история остаётся полной.
🔹 Git Reset
- Удаляет коммит(ы) из истории.
- Изменяет историю репозитория — может быть опасно, если уже был пуш.
- Подходит только для локальных изменений или ещё не опубликованных коммитов.
- Есть три режима: `soft`, `mixed`, `hard`.
> 💡 Пример:
> C1 → C2 → C3 (ошибка) → C3 убрано
> Результат: история обрезана, как будто коммит никогда не был.
💡 Вывод:
`revert` — безопасный и прозрачный способ отменить изменения.
`reset` — мощный инструмент, но требует осторожности.
📌 Понимание этих команд — ключ к уверенной работе с Git!
#Git #DevOps #Programming #junior
@python_be1
Когда вы делаете ошибку в Git, важно понимать, как правильно её исправить. Два самых популярных способа — `git revert` и `git reset`. Но они работают по-разному!
### 🔹 Git Revert
- Создаёт новый коммит, который отменяет изменения из проблемного коммита.
- История сохраняется полностью — всё видно, даже ошибка.
- Безопасный вариант для публичных веток (например, `main`).
- Не удаляет коммиты — просто "откатывает" их эффект.
> 💡 Пример:
> C1 → C2 → C3 (ошибка) → C4: Revert C3
> Результат: ошибка отменена, но история остаётся полной.
🔹 Git Reset
- Удаляет коммит(ы) из истории.
- Изменяет историю репозитория — может быть опасно, если уже был пуш.
- Подходит только для локальных изменений или ещё не опубликованных коммитов.
- Есть три режима: `soft`, `mixed`, `hard`.
> 💡 Пример:
> C1 → C2 → C3 (ошибка) → C3 убрано
> Результат: история обрезана, как будто коммит никогда не был.
💡 Вывод:
`revert` — безопасный и прозрачный способ отменить изменения.
`reset` — мощный инструмент, но требует осторожности.
📌 Понимание этих команд — ключ к уверенной работе с Git!
#Git #DevOps #Programming #junior
@python_be1
🖥 Python: Совет по работе с серверами
Полезный совет Python-разработчиков, работающих с серверами
Когда вы управляете удалёнными серверами, часто приходится подключаться по SSH, выполнять команды и собирать логи. Банальные вызовы через subprocess или ручное использование ssh не дают гибкости. Куда интереснее использовать программируемое SSH-взаимодействие прямо из Python, с динамическим выполнением команд, обработкой stdout/stderr и тонкой настройкой соединения.
Трюк в том, чтобы работать с сервером так, будто вы пишете локальный скрипт: подключение по ключу, выполнение последовательности команд, сбор результатов и даже поднятие туннелей. Для этого можно использовать библиотеку paramiko. Её «фишка» — вы получаете прямой объект-канал для команд, что позволяет реализовать, например, автоматическое деплой-меню или собственный health-checker для кластера.
#Python #Программирование #Разработка #Python3 #Backend #Frontend #DataScience #MachineLearning #ArtificialIntelligence #DeepLearning #WebDevelopment #Django #Flask #FastAPI #API #REST #Scripting #Automation #DevOps #DataAnalysis #Pandas #NumPy #Matplotlib #Seaborn #Jupyter #BigData #CloudComputing #AWS #Azure #GoogleCloud #Testing #PyTest #UnitTest #CI_CD #Databases #SQL #NoSQL #MongoDB #PostgreSQL #SQLite #OpenSource #SoftwareEngineering #Coding #CleanCode #PythonLibraries #TensorFlow #PyTorch #ScikitLearn #NLP #ComputerVision
@python_be1
Полезный совет Python-разработчиков, работающих с серверами
Когда вы управляете удалёнными серверами, часто приходится подключаться по SSH, выполнять команды и собирать логи. Банальные вызовы через subprocess или ручное использование ssh не дают гибкости. Куда интереснее использовать программируемое SSH-взаимодействие прямо из Python, с динамическим выполнением команд, обработкой stdout/stderr и тонкой настройкой соединения.
Трюк в том, чтобы работать с сервером так, будто вы пишете локальный скрипт: подключение по ключу, выполнение последовательности команд, сбор результатов и даже поднятие туннелей. Для этого можно использовать библиотеку paramiko. Её «фишка» — вы получаете прямой объект-канал для команд, что позволяет реализовать, например, автоматическое деплой-меню или собственный health-checker для кластера.
#Python #Программирование #Разработка #Python3 #Backend #Frontend #DataScience #MachineLearning #ArtificialIntelligence #DeepLearning #WebDevelopment #Django #Flask #FastAPI #API #REST #Scripting #Automation #DevOps #DataAnalysis #Pandas #NumPy #Matplotlib #Seaborn #Jupyter #BigData #CloudComputing #AWS #Azure #GoogleCloud #Testing #PyTest #UnitTest #CI_CD #Databases #SQL #NoSQL #MongoDB #PostgreSQL #SQLite #OpenSource #SoftwareEngineering #Coding #CleanCode #PythonLibraries #TensorFlow #PyTorch #ScikitLearn #NLP #ComputerVision
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Python: склейка TCP-пакетов
Когда отправляешь ты в сокет много маленьких кусочков - уходит куча мелких TCP-пакетов это работает медленнее и с задержками.
Решение: склеивай данные и отправляй одним блоком.
На Linux можно сказать ядру «подожди, я ещё допишу» команда MSG MORE.
Итог: меньше пакетов, быстрее отклик.
#Python #Программирование #Разработка #Python3 #Backend #Frontend #DataScience #MachineLearning #ArtificialIntelligence #DeepLearning #WebDevelopment #Django #Flask #FastAPI #API #REST #Scripting #Automation #DevOps #DataAnalysis #Pandas #NumPy #Matplotlib #Seaborn #Jupyter #BigData #CloudComputing #AWS #Azure #GoogleCloud #Testing #PyTest #UnitTest #CI_CD #Databases #SQL #NoSQL #MongoDB #PostgreSQL #SQLite #OpenSource
@python_be1
Когда отправляешь ты в сокет много маленьких кусочков - уходит куча мелких TCP-пакетов это работает медленнее и с задержками.
Решение: склеивай данные и отправляй одним блоком.
На Linux можно сказать ядру «подожди, я ещё допишу» команда MSG MORE.
Итог: меньше пакетов, быстрее отклик.
#Python #Программирование #Разработка #Python3 #Backend #Frontend #DataScience #MachineLearning #ArtificialIntelligence #DeepLearning #WebDevelopment #Django #Flask #FastAPI #API #REST #Scripting #Automation #DevOps #DataAnalysis #Pandas #NumPy #Matplotlib #Seaborn #Jupyter #BigData #CloudComputing #AWS #Azure #GoogleCloud #Testing #PyTest #UnitTest #CI_CD #Databases #SQL #NoSQL #MongoDB #PostgreSQL #SQLite #OpenSource
@python_be1
📌 20 ключевых навыков для Linux-администратора
Если хочешь уверенно работать с Linux в DevOps/инфраструктуре — вот карта, по которой можно идти:
— Командная строка: cd, ls, ps, top, tmux, ssh
— Права и пользователи: chmod, chown, группы, sudo
— SSH-ключи и безопасность доступа
— Firewall: iptables, ufw
— Резервные копии: rsync, cron
— Bash/Python скриптинг для автоматизации
— Package managers: apt, yum, dnf
— Network troubleshooting: ping, traceroute, netstat, ss, ip
— Процессы: ps, top, systemd
— Диски: df, du, fdisk, LVM
— Git и контроль версий
— Контейнеры: Docker, Podman + основы Kubernetes
— Конфигурационное управление: Ansible, Puppet, Chef
— Облака: AWS/Azure/GCP
— CI/CD: Jenkins, GitLab CI, GitHub Actions
— Мониторинг: Prometheus, Grafana, ELK
— IaC: Terraform, CloudFormation
— Оркестрация: Kubernetes, Docker Swarm
— Сертификации: AWS, RHCE, CKA
— Постоянное обучение и практика
Linux — это фундамент для DevOps, SRE и облачной инфраструктуры.
Освой базу, автоматизируй рутину и прокачивайся каждый день 🚀
#linux #devops #sysadmin #infrastructure #cloud
@python_be1
Если хочешь уверенно работать с Linux в DevOps/инфраструктуре — вот карта, по которой можно идти:
— Командная строка: cd, ls, ps, top, tmux, ssh
— Права и пользователи: chmod, chown, группы, sudo
— SSH-ключи и безопасность доступа
— Firewall: iptables, ufw
— Резервные копии: rsync, cron
— Bash/Python скриптинг для автоматизации
— Package managers: apt, yum, dnf
— Network troubleshooting: ping, traceroute, netstat, ss, ip
— Процессы: ps, top, systemd
— Диски: df, du, fdisk, LVM
— Git и контроль версий
— Контейнеры: Docker, Podman + основы Kubernetes
— Конфигурационное управление: Ansible, Puppet, Chef
— Облака: AWS/Azure/GCP
— CI/CD: Jenkins, GitLab CI, GitHub Actions
— Мониторинг: Prometheus, Grafana, ELK
— IaC: Terraform, CloudFormation
— Оркестрация: Kubernetes, Docker Swarm
— Сертификации: AWS, RHCE, CKA
— Постоянное обучение и практика
Linux — это фундамент для DevOps, SRE и облачной инфраструктуры.
Освой базу, автоматизируй рутину и прокачивайся каждый день 🚀
#linux #devops #sysadmin #infrastructure #cloud
@python_be1