Как в Docker Machine Windows и Mac (Boot2docker) устанавливать пакеты

Допустим вы зашли в консоль докер машины с помощью команды:

docker-machine.exe ssh

или любым другим способом. И внезапно обнаруживаете, что привычные инструменты для работы в командной строке отсутствуют. Попытка установить их через пакетные менеджеры типа yum или apt заканчивается неудачей, так как этих менеджеров в системе тоже не установлено. Так как быть? Как установить дополнительный софт?

Как и многие другие пользователи Mac, я запускаю boot2docker для запуска Docker на своём ноутбуке. Boot2docker это крошечная виртуальная машина Linux, которая обычно работает без виртуальной машины VirtualBox. Boot2docker использует относительно неизвестный дистрибутив Linux под названием Tiny Core Linux. Tiny Core довольно опрятен, но не очевидно, как устанавливать дополнительные пакеты, как это можно легко сделать в других дистрибутивах Linux.

Первый шаг — выяснить, упакован ли нужный пакет. Для этого откройте страницу репозитория программного обеспечения Tiny Core Linux, где в настоящее время уже сделано несколько сотен пакетов.
Второй шаг — определить имя двоичного файла пакета и установить его. В отличие от более крупных дистрибутивов Linux, Tiny Core Linux не имеет базы данных пакетов с возможностью поиска, поэтому вам необходимо выяснить имя пакета. Имя пакета для rsync — rsync.tcz, поэтому давайте установим его с помощью tce-load:

docker@boot2docker:~$ tce-load -w -i rsync.tcz
Connecting to repo.tinycorelinux.net (89.22.99.37:80)
popt.tcz             100% |*******************************| 28672   0:00:00 ETA
popt.tcz: OK
Downloading: rsync.tcz
Connecting to repo.tinycorelinux.net (89.22.99.37:80)
rsync.tcz            100% |*******************************|   180k  0:00:00 ETA
rsync.tcz: OK

Rsync был успешно установлен в boot2docker. Аналогично и для остальных пакетов, например, htop:

tce-load -w -i htop.tcz