Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Новое яркое приключение в волшебной стране пасьянса Эмерлэнде!

Эмерланд пасьянс

Карточные, Головоломки, Пазлы

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
12
dexsys
dexsys
2 года назад
Логово Программиста

Мир docker-контейнеров и как в нем жить обычному разработчику⁠⁠

В этой статье мы хотим поговорить о контейнерах в общем и о docker-контейнерах в частности. Как с ними жить обычному разработчику?


Раньше в IT люди занимались тем, что запускали софт на одной большой машине(сервере) и ловили разные проблемы: «у нас не работает», конфликты библиотек, проблемы обновления и сопровождения.

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Далее на авансцену выходят VM (виртуальные машины), и это в каком-то виде решило проблему доставки кода, так как теперь софт работал изолированно от других версий софта, но не решило проблему обновления и сопровождения.


Наверное, вы часто оказывались по ту или другую сторону проблемы и слышали/говорили следующие слова: «А у нас работает!».

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Затем, с течением времени, появились докер-контейнеры. Они стали средством удешевления развертывания софта, упрощения деплоя и обновления.

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Итак, с историей мы разобрались, время поговорить более предметно!


Что под капотом у этой технологии?


linux kernel-namespace — так как докер-контейнер не виртуализирует аппаратную составляющую, а только программную, для него создается свое пространство для pid-процессов, сети, файловой системы и процессов ядра.


Вторым китом контейнерной технологии будет cgroups — для того, чтобы управлять системными ресурсами для каждого контейнера, в них входит: оперативная память, процессорное время, доступ к дискам.


Третий кит контейнерной технологии, union file system, – позволяет управлять файловой системой, которая состоит из слоев, и ее фишки хорошо ложатся на контейнеры


Теперь, после того, как вы прошли несколько стадий принятия новой технологии, неплохо бы научиться с ней работать и ей пользоваться:)


Если вы виндузятник или маковод, то вам нужен docker desktop, а с виндой возможно понадобится WSL - windows subsystem for linux.


Если вы красноглазый линуксоид, то apt-get update && apt-get install docker (на самом деле путь чуть-чуть сложнее, но для знакомства хватит этих двух команд).


После того, как вы установили docker на ПК, есть смысл ознакомиться со списком существующих команд. Для этого разработчики docker добавили полезный ключ в вызове CLI-программы: вводим в консоли docker -h (--help) и видим список всех существующих команд.


Выделим самые полезные на старте:

docker pull - сможете скачать образ из любого docker registry, это хранилище докер-образов

docker push - а с помощью этой команды вы сможете загрузить образ в любое доступное для вас docker registry

docker run - эта команда создает и стартует новый контейнер из существующего образа

docker stop - эта команда останавливает работу контейнера

docker ps - а вывод данной команды покажет вам запущенные docker-контейнеры (еще можно написать вот так: docker ps -a и вы увидите все контейнеры - запущенные и остановленные)

docker images - ничего экстравагантного, просто вывод на экран всех образов

docker build - а с помощью этой команды вы сможете создавать свои docker-образы из dockerfile


Это самые популярные команды, но ранее вы видели, что их больше и у каждой команды есть свои различные опции.


Время попрактиковаться!


Теперь на примере образа nginx:1.22 (это популярный веб-сервер) рассмотрим как добавить в наш будущий образ файл index.html, создать на его основе контейнер и просмотреть через браузер.
(Я веб-разработчик, поэтому в качестве примера выбрал демонстрацию с html)

Создадим директорию docker-test (актуально для примеров на OSX и Linux*) и следующей командой перейдем внутрь:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Тут создадим директорию nginx:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Затем открываем ваш любой любимый редактор (nano, vim, vscode, etc) и создаем файл со следующим названием: «Dockerfile»


Откроем наш файл и напишем следующее:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Объясним обе строчки:


Первая строчка: указывает базовый образ версии нашего веб-сервера, в нашем случае это nginx версии 1.22 (крутые специалисты всегда указывают точные версии используемых программ)


Вторая строчка: копирует файл index.html внутрь докер-образа, по которому nginx будет искать html-файлы.


Далее мы создадим html-файл в директории рядом с nginx, для этого выйдем из текущей директории в предыдущий каталог:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

И создадим файл index.html

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Откроем файл, который мы создали предыдущей командой, с помощью вашего любимого текстового редактора или IDE и добавим следующие строчки:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Сейчас нам необходимо создать наш первый образ, для этого введем следующую команду:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Что делает каждая команда и ключ?


docker build - это команда для создания образа


ключ -f нужен для указания пути до Dockerfile


-t - тут мы называем наш образ my-nginx


точка в конце нужна для указания каталога, для контекста сборки, и чтобы наш сборщик понимал, где искать файлы. Если указать не точку, а какой-то иной каталог, но, при этом, в Dockerfile у вас будет указана инструкция по работе с файлами, то сборка сломается.

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

После запуска нашей команды, если вы ничего не забыли, вы увидите следующее:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Теперь, когда у нас есть наш небольшой docker-образ, самое время его запустить:

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Что делает каждый ключ в нашей команде?


docker run — команда создания и запуска контейнера.


-d — чтобы наш контейнер работал в фоне и не перехватывал управление над консолью


-p 80:80 — открываем порт 80 у нашего контейнера


- -name — присваиваем имя нашему контейнеру


my-nginx — указываем используемый образ нашего контейнера


И после этого мы видим, что nginx отдал index.html при запросе на 127.0.0.1:80, так как мы запустили наш контейнер локально.

Мир docker-контейнеров и как в нем жить обычному разработчику Программирование, IT, Программист, Docker, Длиннопост

Контейнерная технология решает много проблем во взаимодействии программистов и сопровождения, а также делает процесс разработки более удобным. Но не стоит забывать, что это не «серебряная пуля»** и, как в любом инструменте, нужно подходить с умом к ее использованию. Надеюсь, эта статья и небольшая практическая часть поможет вам пользоваться контейнерами правильно.


Автор: Валерий, .Net-разработчик


Примечания:

*Пример для WSL не рассматривается в рамках данной статьи, но мы обязательно разберем его в следующих выпусках

**Серебряной пулей считается супер-крутая технология, которая решит все проблемы разработки. Но пока, увы, такой не существует.

Показать полностью 13
[моё] Программирование IT Программист Docker Длиннопост
1
2
vlad196
vlad196
2 года назад
Лига программистов

DevOps без реального опыта в программировании⁠⁠

Существуют ли такие DevOps инженеры, которые не имеют реального опыта работы программиста?

т.е. сразу из теории и обучения, которое сейчас существует сразу в эту профессию или это обязательно надо эволюционировать из программиста, став при этом сначала крепким middle?

Профессия Образование Поиск работы Опыт IT DevOps Linux Docker Сервер Разработчики Текст
31
soaqa
soaqa
2 года назад

Ставим WSL 2 на Windows и работаем с комфортом)⁠⁠

Привет!
Я программирую на Python и последние пару лет работаю дома на своём домашнем ПК. И так уж сложилось, что последние 20 лет я в качестве ОС использую исключительно Windows. Но поскольку мне для работы нужен Linux, я поставил себе программу VMware, которая позволяет создавать виртуальные ПК, на один из которых я и накатил Ubuntu и более-менее удобно, настроил рабочее место, так чтобы почти не испытывать боли от использования виртуалки.

Но это решение раз за разом, вынуждало меня выполнять какие-то действия на ней, будь то очистка индекса GIT после выполнения предыдущей задачи или скачивание каких-то файлов с винды на виртуалку, проброс портов и так далее.

Но недавно я наконец сподобился настроить себе WSL 2 - это подсистема Linux интегрированная в Windows, наверно вы про неё как минимум слышали.

Иии это просто прекрасно (по крайней мере пока), вот запилил гайд как её установить, настроить по минимуму и поставить на неё Docker, что делается не так уж и очевидно)



ПыСы микрофон меня опять обыграл, так что навалите звука)

Показать полностью 1
[моё] IT Linux Windows Python Программирование Docker Джанго Видео YouTube
15
52
DELETED
2 года назад
GNU/Linux

Посоветуйте пожалуйста литературу⁠⁠

Доброго времени суток!

Посоветуйте пожалуйста годную литературу по темам виртуализации и контейнирезации в Linux (Kubernetes, Docker, KVM). Или, может быть, есть какие видео уроки на этот счет.


Заранее спасибо!


Пост без рейтинга.

Kubernetes Docker Kvm Linux Без рейтинга Текст
24
153
dobriydenis
dobriydenis
3 года назад
Лига Сисадминов

Рубрика Awesome Open Source ч.3⁠⁠

Рубрика Awesome Open Source ч.3 VPN, Open Source, Бесплатно, Github, YouTube, IT, Софт, Docker, Длиннопост

Всем доброго времени суток!)

Продолжим нашу рубрику Awesome, часть - 3.


1. Начнем с интересного проекта написанного на Python под названием - Stitching

Который возможно будет интересен людям которые занимаются фотографией, он поможет вам склеить ваши снимки в панораму, устраняя артефакты.

Более подробно со всеми функциями и способами установки предлагаю ознакомиться:

GitHub проекта - Stitching
Рубрика Awesome Open Source ч.3 VPN, Open Source, Бесплатно, Github, YouTube, IT, Софт, Docker, Длиннопост
Рубрика Awesome Open Source ч.3 VPN, Open Source, Бесплатно, Github, YouTube, IT, Софт, Docker, Длиннопост

2. Следующий проект, полагаю известен многим, особенно с недавнего времени по названием-Yt-dlp

Рубрика Awesome Open Source ч.3 VPN, Open Source, Бесплатно, Github, YouTube, IT, Софт, Docker, Длиннопост

Данное решение дает возможность скачать видео с Youtube без ограничений по скорости и в высоком качестве, с конвертацией в разные форматы и разрешения, например вы можете скачать видео с аудио книгой и преобразовать для удобства в .mp3

Как вы поняли есть скачивание видео, массовое скачивание всего канала, плейлиста, аудио.

Данный проект это форк более известного проекта - Youtube-dl.


Более подробно со всеми функциями и способами установки предлагаю ознакомиться:

GitHub проекта - Yt-dlp



3. Нашу 3 часть рубрики Awesome, закрывает великолепный проект под названием - Otline VPN

Рубрика Awesome Open Source ч.3 VPN, Open Source, Бесплатно, Github, YouTube, IT, Софт, Docker, Длиннопост

Outline VPN поможет нам развернуть свой личный VPN для вас и вашей семьи, друзей, всего  в несколько команд копипастой, за 160-200р в месяц (VPS/VDS за границей)


Удобное управление ключами для подключения к вашему серверу, установка ограничения на трафик на каждый сгенерированный ключ, кроссплатформенность, использование протокола Shadowsocks.

Установка производиться в Docker в одну команду.

Так же в Telegram есть каналы ( например - Outline VPN Community ) которые на бесплатной основе делятся своими ключами из разных стран.


Более подробно со всеми функциями и способами установки предлагаю ознакомиться:

GitHub проекта - Jigsaw
Оф. сайт проекта - Outline VPN



На этом хочу закончить 3 часть подборки Awesome.


Если вы знаете какие-то интересные проекты связанные с Open Source решениями, буду рад их увидеть в комментариях.

Благодарю всех ребят которые поделились в прошлом посте классными ссылками на проекты!


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


P.S. Благодарю за потраченное время на чтение и всем желаю доброго времени суток!)

P.S.S. Я не предлагаю вам заменить какой-то из сервисов, понимаю что есть аналоги интересней, удобней и круче по исполнению, я всего лишь делюсь Open Source проектами которые мне показались интересными или которыми я пользуюсь в работе или в жизни, Спасибо)

Показать полностью 4
[моё] VPN Open Source Бесплатно Github YouTube IT Софт Docker Длиннопост
18
134
AxlR
AxlR
3 года назад
Лига Сисадминов

Ответ на пост «Бесплатный KMS сервер»⁠⁠1

Напишу микро-инструкцию, как поднять в докере на Synology.


Для начала у вас должен быть установлен пакет Docker.

Ответ на пост «Бесплатный KMS сервер» Synology, Docker, Ответ на пост, Длиннопост

Затем идём в "реестр", в строке поиска поиске ищем "vlmcsd" и загружаем (образ весит всего 7Мб).

Ответ на пост «Бесплатный KMS сервер» Synology, Docker, Ответ на пост, Длиннопост

Потом идем в "Контейнер" и жмём кнопку "Создать", далее выбираем наш образ.

Ответ на пост «Бесплатный KMS сервер» Synology, Docker, Ответ на пост, Длиннопост

Всё оставляем по-умолчанию и лишь в "Настройках портов" указываем локальный порт такой же как и порт контейнера "1688". По сути, нам надо из контейнера пробросить только сетевой порт сервера.

Ответ на пост «Бесплатный KMS сервер» Synology, Docker, Ответ на пост, Длиннопост
Ответ на пост «Бесплатный KMS сервер» Synology, Docker, Ответ на пост, Длиннопост
Ответ на пост «Бесплатный KMS сервер» Synology, Docker, Ответ на пост, Длиннопост

Когда контейнер запуститься, откройте "Сведения" -> "Журнал" и можете смотреть в логах кому отвечал сервер.

Ответ на пост «Бесплатный KMS сервер» Synology, Docker, Ответ на пост, Длиннопост

Контейнер потребляет сверхмало ресурсов, намного меньше чем виртуальная машина.

Ответ на пост «Бесплатный KMS сервер» Synology, Docker, Ответ на пост, Длиннопост

PS как вы уже догадались IP аресом вашего vlmcsd-сервера является IP адрес Synology.

Показать полностью 7
Synology Docker Ответ на пост Длиннопост
20
286
agafon.aga
agafon.aga
3 года назад
IT-юмор

DevOps-ы новой контейнер конфигурируют поди⁠⁠

DevOps-ы новой контейнер конфигурируют поди
Open Source Docker DevOps
8
849
stavropol
stavropol
3 года назад
IT-юмор

Так изобрели Docker⁠⁠

Так изобрели Docker IT юмор, Картинка с текстом, Мемы, Программирование, Docker

Источник: localhost

Telegram-канал IT-юмор

Показать полностью 1
IT юмор Картинка с текстом Мемы Программирование Docker
60
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии