Platform for building & running lightweight, isolated application containers.
Reliably deploy pretty much anything, pretty much anywhere.
Two primary components:
Docker Engine: local, client/server software
docker daemon - manages building, running and distributing of containers
%> docker ps
Show list of running containers
%> docker build -t myapp/ngnix dockerfiles/ngnix
Build an image
%> docker pull foo/postgres
Pull an image from a central repo
%> docker run -d -t --name ngnix myapp/ngnix
%> docker run -d -t --name postgres foo/postgres
Run some containers
%> docker stop ngnix
%> docker rm ngnix
Stop & remove running containers
Docker Hub: centralized, public image repository
FROM phusion/baseimage:latest
MAINTAINER Jay Luker <lbjay@reallywow.com>
# Download latest package lists
RUN apt-get update
# Install dependencies
RUN apt-get install -yq \
openjdk-7-jre-headless \
wget
# Download version 1.4.2 of logstash
RUN cd /tmp && \
wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz && \
tar -xzvf ./logstash-1.4.2.tar.gz && \
mv ./logstash-1.4.2 /opt/logstash && \
rm ./logstash-1.4.2.tar.gz
# Copy assets to their prospective locations
ADD ./assets/logstash.conf /opt/logstash.conf
ADD ./assets/run.sh /opt/run.sh
ADD ./assets/dashboard.json /opt/logstash/vendor/kibana/app/dashboards/default.json
RUN chmod 755 /opt/run.sh
# Kibana
EXPOSE 9292
# Start logstash
CMD ["/opt/run.sh"]
mh-userstats/docker/logstash/Dockerfile
Wrapper to simplify orchestration of
application services and components
redis:
image: dockerfile/redis
ports:
- "6379:6379"
volumes_from:
- shareddata
command: redis-server /etc/redis/redis.conf --dir /shareddata
elasticsearch:
build: ./docker/elasticsearch
ports:
- "9200:9200"
- "9300:9300"
volumes_from:
- shareddata
logstash:
build: ./docker/logstash
ports:
- "9292:9292"
links:
- redis
- elasticsearch
shareddata:
image: ventz/dataos
volumes:
- "/shareddata"
command: /bin/true
mh-userstats/fig.yml
%> fig up
%> fig ps
%> fig stop
Containerized Canvas instances for dev/testing
https://github.com/harvard-dce/canvas-docker
https://registry.hub.docker.com/u/lbjay/canvas-docker
%> docker pull lbjay/canvas-docker
%> docker run -t -i -p "3000:3000" --name=canvas lbjay/canvas-docker