Docker Swarm: stack deploy и именованные тома (named volumes)

При переходе на 3.х версию файла docker-compose.yml (необходимое требование для работы Docker Swarm) пропадает возможность использовать Data-only контейнеры — специальные контейнеры-спутники, файловая система которых служит для хранения данных и подключается к остальным сервисам с помощью параметра volumes-from. Давайте разберемся с возможным решением данной проблемы на реальном примере! В примере используются […]

Различия Между Docker Compose И Docker Stack

В связи с последними релизами в мире Docker произошли некоторые изменения. В версии 1.12 в Docker Engine был интегрирован режим Swarm, в связи с чем появилось несколько новых инструментов. Среди прочего, теперь появилась возможность использовать Compose-файлы docker-compose.yml для создания стеков контейнеров Docker без необходимости устанавливать инструмент Docker Compose. Теперь для […]

Reset the sentry password

If you have locked yourself out of sentry but still have ssh access to the server, you can reset the password in the shell Open the shell in the sentry docker: cd /data/grape/config/sentry docker-compose exec grapesentry-sentry bash open the sentry/django shell: sentry shell Change the password (make sure to use […]

Как стать долларовым миллионером за 30 лет, лежа на диване

Часть 1: почему не существует богатых трейдеров Кто и почему рекламирует трейдинг Гид, показывающий приезжему финансовый район Нью-Йорка, обращает его внимание на несколько красивых судов на якоре у берега.— Посмотрите, – говорит гид, – это яхты брокеров и банкиров.— А где же яхты их клиентов? — спрашивает наивный гость Со […]

Кое-что об inode

Периодически, с целью переезда в ЦРС собеседуюсь в разных крупных компаниях, в основном Питера и Москвы на должность DevOps. Обратил внимание, что во многих компаниях (во многих хороших компаниях, например в яндексе) задают два сходных вопроса: что такое inode; по каким причинам можно получить ошибку записи на диск (или например: […]

Хаки при работе с большим числом мелких файлов

Дело в том, что внутренней спецификой работы наших сервисов является хранение огромадного числа мелких файлов. На данный момент у нас порядка сотен терабайт таких данных. И мы натолкнулись на некоторые очевидные и не очень грабельки и успешно по ним прошлись.Поэтому делюсь нашим опытом, может кому и пригодится. Проблема первая: «No […]

Raw Queries in Laravel

Business logic is often complicated. Because of this, we often need to write our own SQL queries. Luckily, Laravel‘s query builder has the tools we need to safely run such queries. A key concern when writing our own queries is protecting our application from SQL injection attacks. Normally, the query […]

Write string slice line by line to a text file

The bufio package provides an efficient buffered Writer which queues up bytes until a threshold is reached and then finishes the write operation to a file with minimum resources. The following source code snippet shows writing a string slice to a plain text file line-by-line. package main   import ( «bufio» […]

Указатели в Go Lang

Когда мы вызываем функцию с аргументами, аргументы копируются в функцию: func zero(x int) { x = 0 } func main() { x := 5 zero(x) fmt.Println(x) // x всё еще равен 5 } В этой программе функция zero не изменяет оригинальную переменную x из функции main. Но что если мы […]

Правильная регистрация консольных команд Symfony в DI

Как добавить такую команду в DI? <?phpdeclare(strict_types=1);namespace App\Console;use Symfony\Component\Console\Command\Command;final class DoStuffCommand extends Command{ protected function configure(): void { $this ->setName(‘app:do:stuff’) ->setDescription(‘This command does stuff’) ; } // …} Неправильный способ services: _defaults: autoconfigure: true App\Console\DoStuffCommand: ~ # tags: [ console.command ] # с тегом, если не используется автоконфигурация В чем […]