Skip to content
Advertisement

Package manager on the Docker Machine default VM?

I’m developing on OSX using Docker Machine. I used the quickstart terminal to let it create the default VM which is extremely minimal:

In an OS X installation, the docker daemon is running inside a Linux VM called default. The default is a lightweight Linux VM made specifically to run the Docker daemon on Mac OS X. The VM runs completely from RAM, is a small ~24MB download, and boots in approximately 5s.

I want to install dnsmasq, but none of these instructions could work. I expect to come across this kind of problem again, so beyond installing dnsmasq I want to have some tool such as apt-get to be able to easily install things. With so few commands available I don’t know how to get started. I have curl, wget, sh, git, and other very basic commands. I don’t have any of the following:

apt
apt-get
deb
pkg
pkg_add
yum
make
gcc
g++
python
bash

What can I do? Should I just download a more complete VM such as Ubuntu? My laptop is not very fast so a very lightweight VM was very appealing to me, but this is starting to seem like a bit much.

Advertisement

Answer

The docker-machine VM is based on TinyCore. To install extra packages use tce or tce-load, the apt-get counterpart of TinyCore.

A word of warning, you shouldn’t treat the docker-machine VM as a regular VM where you install tons of packages and customize. It’s only meant to run containers. It’s best to keep it that way.

Advertisement