Before
Use Puppet to setup hardware,
install packages, deploy code, run
services.
After
Use Puppet to setup hardware,
install Docker, run containers.
Use Dockerfiles to install
packages, deploy code, run
services.
Puppet Apply
FROM ubuntu:14.04
MAINTAINER James Turnbull "james@example.com"
RUN apt-get -qqy update
RUN apt-get -qqy install rubygems
RUN gem install --no-ri --no-rdoc puppet
RUN mkdir /puppet
WORKDIR /puppet
ADD site.pp /puppet/site.pp
RUN puppet apply site.pp
Librarian Puppet
FROM ubuntu:14.04
MAINTAINER James Turnbull "james@example.com"
RUN apt-get -y -q install wget git-core rubygems
RUN gem install --no-ri --no-rdoc puppet librarian-puppet
ADD Puppetfile /
RUN librarian-puppet install
RUN puppet apply --modulepath=/modules -e "class { 'nginx': }"
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx"]