Hammerhall Сколько стоит Войти

Докер: ящик, которому всё равно, что внутри

Выпуск 8 · читать минут 5

Слово: докер, Docker, контейнер · где услышишь: на стенде команды и там, где проверяют решения

«Истории слов» — рубрика буткемпа Hammerhall. Наша команда строит учебную платформу и сервисы вокруг неё, а здесь рассказывает, откуда взялись слова, на которых говорит.

Ньюарк, порт напротив Нью-Йорка, 26 апреля 1956 года. Кран ставит на палубу судна Ideal X — переделанного танкера — алюминиевый кузов грузовика. Через семь минут — следующий. Всего 58 кузовов, и судно загружено меньше чем за восемь часов. Обычный грузовой корабль в те годы грузили несколько дней, а то и дольше.

Через пять дней Ideal X приходит в Хьюстон. Там 58 грузовиков забирают ящики и развозят по адресам. Это те же ящики, что грузили в Ньюарке.

Затеял это Малком Маклин (Malcom McLean) — автоперевозчик из Северной Каролины. В 1955 году он купил пароходную компанию, чтобы возить на её судах кузова грузовиков прямо с товаром. Его бухгалтеры потом посчитали: погрузка тонны груза на Ideal X обошлась в 15,8 цента. А на обычное судно тонну грузили в среднем за 5,83 доллара.

Кто за это заплатил#

Обычное судно грузили руками: каждый мешок и каждый ящик поднять, перенести, уложить. В начале 1950-х в Нью-Йорке и в Лондоне, двух крупнейших портах мира, было больше чем по 50 000 зарегистрированных портовых рабочих.

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

В 1960 году на Западном побережье США профсоюз докеров и судовладельцы подписали соглашение: компании ставят машины, а докеры получают 35-часовую рабочую неделю и пенсионный фонд на 29 млн долларов, чтобы уходить на пенсию раньше. Одни считают, что лучшего добиться было нельзя, другие — что профсоюз отдал слишком много. По данным исследователей, с 1960-го по 1980-й число зарегистрированных портовых рабочих там упало больше чем на треть — с 14 500 до 8 400.

По-английски, точнее по-британски, портовый грузчик — docker, тот, кто работает в доках. По словарю Merriam-Webster, в этом значении слово известно с 1887 года. В русский оно пришло давно и без изменений: в толковом словаре Ушакова 1930-х годов «докер» уже есть — «рабочий на доках и судостроительных верфях».

Пять минут в Санта-Кларе#

Прошло больше полувека. 15 марта 2013 года, конференция программистов PyCon в Санта-Кларе, Калифорния. Соломон Хайкс (Solomon Hykes) из компании dotCloud выходит на сцену с пятиминутным докладом «Будущее контейнеров Linux» — и впервые показывает публике Docker. Осенью того же года компания возьмёт имя своей программы: dotCloud станет Docker.

Какую беду решал Docker, в компании потом описали одной фразой: доставить код на сервер трудно. По-английски здесь стоит shipping — доставка, слово от ship, корабль. Программа зависит от того, что установлено на машине, и на чужой может не заработать. Docker упаковывает программу вместе со всем, что ей нужно, в контейнер, и такой контейнер работает одинаково на ноутбуке программиста, в дата-центре и в облаке.

Сравнение с морем есть уже в описании самой первой версии Docker. Морской контейнер, сказано там, ставят в штабель одинаково, что бы в нём ни лежало, — вьетнамский растворимый кофе или запчасти для Maserati. А до контейнеров, по тому же описанию, мешок кофе по дороге таскали, волокли, роняли, катали и складывали десять разных людей в десяти разных местах.

Ужасное название#

Легко подумать, что Хайкс назвал программу в честь докеров. Почти так, но назвал не он.

По рассказу журнала Forbes, имя придумал первый инженер, которого дали Хайксу в помощь, когда Docker был ещё побочным проектом. Инженер думал о докерах и подбирал слово в пару к «контейнерам». А сам Хайкс признался журналу: «Я думал, это ужасное название и что мы поменяем его до выпуска». Не поменяли.

На логотипе Docker — кит, который везёт на спине штабель контейнеров. Его выбрали на конкурсе дизайнеров. Как вспоминал потом сотрудник Docker, среди других кандидатов были жираф и жёлудь, а кит победил с большим отрывом.

Имя ему в 2013 году выбрали пользователи голосованием: Moby Dock. Если ты читал выпуск 3, то узнал в нём «Моби Дика» Германа Мелвилла (Herman Melville). В посте об итогах голосования компания игру слов не объясняет — она и так слышна.

А ирония этой истории вот в чём. Контейнер оставил без работы тысячи докеров, а теперь «докером» зовут программу, которая только и делает, что грузит контейнеры.

Контейнеры у нас#

Контейнеры у нас — обычное дело. Решение ученика проверяют на сервере, в отдельном контейнере. А на стенде команды — там, где она пробует новые версии своих программ, — в контейнерах работает CRM, программа для менеджеров буткемпа.

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

Контейнеру всё равно, что внутри, — кофе, запчасти или решение ученика. В этом его сила.


Источники

← Все истории слов

Попробовать руками

В кузницах Hammerhall — задачи по Java, которые проверяет сервер: решаешь в своей IDE, отправляешь одной командой, проверка запускает твои тесты и закрытые. Сложность растёт вместе с решённым, первые задачи бесплатны.