Все записи автора Pavel

Как перенести WordPress сайт в Docker

WordPress в Docker

Ни один из моих блогов на WordPress не установлен в Docker контейнерах, и об этом я жалею с самого момента их создания. Мне хватило всего пары недель, чтобы забыть, как именно настроены сервера, зачем на них включена та или иная фича, и теперь во время каждого апдэйда приходится молиться всем известным богам программирования, потому что если что-то пойдёт не так, я уже без понятия, как это разруливать. Даже просто перенести сайт на новый сервер было бы подвигом.

С Докер контейнерами таких проблем бы не было. Взял Dockerfile или docker-compose.yml, взял volumes с данными, перенёс на другую машину, и всё. Можно было бы даже запустить реплики блогов дома, чтобы на них экспериментировать, проверять апдэйты и надругивать новые фичи.

Но не всё потеряно. Прогрессирующее старпёрство мне уже не позволит просто так вот взять и выкатить Docker в свой «продакшен», но создать локальную докеризированную реплику одного из блогов определённо можно. А там, если всё пойдёт нормально, можно и в большой интернет. Читать далее Как перенести WordPress сайт в Docker

Где выгуляться папе с сыном в Онтарио

collage

Собирался писать о чём-то умном и нудном, но выдалась такая упоротая неделя, во время которой постоянно хотелось спать, и чтобы других людей не было, что меня хватит разве что на красивые картинки и подписи к ним. Например, красивые картинки о том, где можно выгуляться папе с сыном в нашем районе Онтарио (GTAH).

Внезапно выяснилось, что старшему сыну уже скоро четыре, а в этом возрасте у него появляется много интересов, которые его не сильно преклонных лет папа всё ещё способен разделить: самолёты, корабли, пушки, акулы, крокодилы и то, как растёт табак (последнее уже от меня, но было интересно обоим). В результате, за последние два месяца мы объездили неожиданно много новых мест. Итак, по списку. Читать далее Где выгуляться папе с сыном в Онтарио

Локальный Docker реестр в Swarm

container stackВ одном из прошлых постов про проверку состояния контейнеров в Docker ближе к концу поста мне удалось запустить Swarm сервис из локально собранного образа. Ну как удалось.. Собрал и запустил. Но что меня удивило, Docker в Swarm режиме мне это позволил. Всё-таки в нём могло быть больше, чем один хост, а образ я создавал только на первом. Что если бы Swarm запустил сервис на ноде, где образа не было? Или отмасштабировал? Он же не стал бы автоматически копировать образы между хостами, так ведь? Или всё-таки стал бы?

Попробуем-ка сегодня мы отмасштабировать сервис на базе кастомного образа и посмотрим, получится ли. Спойлер: без локального реестра образов получится так себе.

Читать далее Локальный Docker реестр в Swarm

Как фитнесс трекер и Дуров заставили меня побежать

monty-python-run-away

В школе я никогда не был бегуном. Ну вообще никак. Сто метров пробежать мог, конечно, без проблем, но какие-нибудь полтора-два километра… Бегали мы вокруг школы, и обычно ко второму кругу я выплёвывал остаток лёгких, вывешивал язык на плечо, и смирялся, что не моё это.

Но потом, когда мы готовились к погоду в горы, случилась интересная штука. Чтобы готовить лёгкие к более разреженному воздуху, нам, будущим ходокам с ледорубами, нужно было бегать. И я честно пару раз в неделю выбирался на свои болота навернуть кружок-другой. Во время одной из таких вылазок я заметил, что альбом Энигмы в плейере успел начаться и закончиться, а я всё ещё бегу. И самая большая проблема в процессе — не лёгкие и ноги, а скука. Так я выяснил, что «не моё» на самом деле бывает очень относительным. Выяснил, и благополучно забыл. Читать далее Как фитнесс трекер и Дуров заставили меня побежать

Что же всё-таки такое kubernetes

kubernetesKubernetes (он же K8s) — это ещё одна инструментина для управления контейнерами в кластере. Она решает, в какой части кластера контейнер будет запущен, следит, чтобы его запрошенная конфигурация («запущен», «пять реплик») выполнялась, чтобы у контейнера была сеть и айпишка, настроен доступ извне (если нужно), обновления приходили в нужном порядке, и т.п.

Изначально Kubernetes разрабатывался Гуглом, но те передали его в open source, так что теперь K8s свободен, как бесплатное пиво. Читать далее Что же всё-таки такое kubernetes

Два года канадской эмиграции

The Lumberjack Song

Я тут с удивлением обнаружил, что в Канаде мы живём уже 2 года. Можно было бы сказать «как быстро летит время…», но это сильно попахивает старостью, поэтому просто расскажу, как оно.

Читать далее Два года канадской эмиграции

Проверка состояния контейнера в Docker

Проверка состояния контейнераКаким-то непонятным образом я пропустил новость о том, что начиная с версии 1.12 Docker контейнерам можно навешивать проверку состояния. И речь тут идёт не о проверке, запущен ли ещё контейнер, а о том, делает ли он всё ещё то, ради чего создавался. Например, мы можем проверять, отзывается ли веб-сервер внутри контейнера на входящие запросы, вменяемое ли количество памяти он использует, встречаются ли в логах фразы вроде «epic fail!!!»… Много чего можно проверить, ведь проверка делается через запуск какого-нибудь стороннего скрипта или приложения, а её результат зависит от кода, с которым это приложение завершилось.

В обычном режиме контейнер, последние несколько проверок которого оказались «так себе», получит атрибут «unhealthy», в Docker events появится соответствующая запись (health_status), и на этом история закончится. Но если речь идёт о Swarm режиме, то проблемный контейнер без лишних разговоров усыпят и автоматически запустят новый. Вот так жестоко. Читать далее Проверка состояния контейнера в Docker

Моё мутное танго с управленческой карьерой

танго

На младших курсах БГУИР, во времена, когда мы ещё были маленькими желторотыми программистиками, курнувшие жизни аспиранты (лет на пять старше нас) любили повторять: «Господа студенты! Если к тридцати годам вы не стали менеджерами, то где-то в этой жизни вы свернули не туда». А мы слушали и запоминали. Всё-таки ребята аж по четыре языка программирования знают. Плохого точно не посоветуют.

Я стал менеджером где-то в 26. Не помню, как это случилось. Вроде, целенаправленно к этому даже и не шёл, но моему нарциссическому организму нравилось быть на виду и чувствовать себя важным, английский я знал неплохо, с заказчиками общаться умел, а что ещё для управленца нужно? Я прособеседовал первых двух человек в команду и начал быть начальником. Читать далее Моё мутное танго с управленческой карьерой

docker-compose для Swarm: docker stack

docker stack

Допустим, вы уже создали свой новенький Docker кластер и морально готовы заполонить своими приложениями. Такой вопрос: как именно вы будете это делать? Не руками ведь, через docker service create, правда? Кластер же большой, а приложение, которому он потребовался, явно будет состоять не из одного сервиса.

В обычном Docker была такая прекрасная штука как docker-compose, с которой можно было описать все контейнеры и их параметры в одном docker-compose.yml файле и потом запустить всё одним махом через docker-compose up. Вот бы можно было сделать так и в кластере.

Оказывается, можно. Читать далее docker-compose для Swarm: docker stack

Вацлав Смил и «Создание двадцатого века»

Вацлав Смил: Создание двадцатого векаВ моём пантеоне умных дядек добавился ещё один — Вацлав Смил. Наткнулся на него абсолютно случайно: то ли в «Мир Позавчера» к нему отсылки были, то ли ещё где-то. Взял на пробу одну из его книг, и таки-да, человечище. Сейчас читаю его мини-биографию и вообще умиляюсь.

Мужику 74 года. Канадец (ха!). Лыс (муа-ха-ха!). Успел написать 37 книг и жалеет, что возраст не позволит написать ещё 77. В год он прочитывает аж 80 книг и вообще — любимец Билла Гейтса. В общем, я морально готовлюсь к тому, что мне понадобится новая книжная полка. И скупить Смила, и как-то приблизиться к восьмидесяти фолиантам в год. Читать далее Вацлав Смил и «Создание двадцатого века»