O Docker instalará muito mais do que o aplicativo em si, porque o Docker é uma solução de contêiner e não um gerenciador de pacotes como apt ou rpm. O Docker deve ser comparado à virtualização de todo o sistema, como Xen, VMWare ou VirtualBox. Da documentação do Docker:
ODocker allows you to package an application with all of its dependencies into a standardized unit for software development.
Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in. source
FROM node:4.2.2
, por exemplo, implementará um contêiner docker baseado no Debian wheezy, que fornece um ambiente Debian básico. E para dar a você, o Docker precisa instalar um pouco mais do que apenas nodejs.
Se você quer saber exatamente o que está instalado, você precisa procurar os Dockerfiles que você incluiu no seu Dockerfile. Nesse caso, node:4.2.2
. Aqui está o repositório do github . Você pode ver que outro Dockercontainer está incluído buildpack-deps:wheezy
. Se você olhar para o Dockerfile , verá que esses pacotes estão instalados:
autoconf \
automake \
bzip2 \
file \
g++ \
gcc \
imagemagick \
libbz2-dev \
libc6-dev \
libcurl4-openssl-dev \
libevent-dev \
libffi-dev \
libgeoip-dev \
libglib2.0-dev \
libjpeg-dev \
liblzma-dev \
libmagickcore-dev \
libmagickwand-dev \
libmysqlclient-dev \
libncurses-dev \
libpng-dev \
libpq-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
libtool \
libwebp-dev \
libxml2-dev \
libxslt-dev \
libyaml-dev \
make \
patch \
xz-utils \
zlib1g-dev \