Как я приручал Docker

main

О том, зачем нужен Docker — написано сто тысяч статей, и примерно столько же докладов. Но у меня возникла вполне реальная проблема, под которую Docker ложился идеально. Совсем недавно я начал один небольшой проект на Node.js. Сначала все шло легко и просто, но внезапно я понял, что понятия не имею, где в open source проектах хранят секретные данные. Ну, то есть, обычно всякие пароли и секретные ключи я храню в конфигурационных файлах, ведь репозитории приватные. А тут GitHub, открытый проект. После недолгого гугления оказалось, что реальные пацаны давно хранят секретные ключи в переменных окружения. Задавать пару десятков переменных окружения каждый раз вручную… Тут-то на ум и пришел Docker.

Хотя про Docker я слышал уже много, но попробовать его на чем-то реальном пока не получалось. И вот настал тот час. Сразу оговорюсь, что в статье я описываю настройку докера для локальной разработки, для продакшна такая конфигурация никак не пойдет.

Раз я строю контейнер для локальной разработки, ничего сложного мне не нужно. Мне нужен контейнер, в котором будет крутиться только один Node.js процесс. Исходник проекта я хочу подключать как внешний том из моей системы и монтировать его в директорию /var/app. При изменении исходников в моей системе Node.js процесс должен перезапускаться. Порт 3000 должен пробрасываться из контейнера в мою систему, чтобы я мог видеть свой проект в браузере. Вроде ничего сложного.

(далее…)

Fuck!!! Или автоматизируем исправление ошибок в консоли.

The fuck

Все мы постоянно опечатываемся в консоли. atp-get, git brnch, cta и.т.д. Ну может и не все, но я так точно, знаете, до компа, я печатал на печатной машинке, и поэтому, вместо мягкого нажатия, долблю пальцами по клавиатуре со всей силы, с высоты примерно в пол метра. Прикольно то, что все мы опечатываемся одинаково (кстати, в топе урлов в моем браузере наверняка есть «млюсщь» и «чмшвущыюсщь»). Даже странно, что такую нужную утилитку придумали только сейчас. Я говорю про программу с лаконичным названием «The Fuck». Смысл в том, что после установки утилиты, по команде fuck программа сама исправит и выполнит последнюю введенную команду. Немного примеров:
(далее…)