doctor
tetris
simplescreenrecorder
This commit is contained in:
Jessica Frazelle 2014-10-18 21:40:41 -07:00
parent 9280bae86f
commit de6304d028
10 changed files with 384 additions and 0 deletions

53
atom/Dockerfile Normal file
View File

@ -0,0 +1,53 @@
# VERSION: 0.1
# DESCRIPTION: Create the atom editor in a container
# AUTHOR: Jessica Frazelle <jess@docker.com>
# COMMENTS:
# This file describes how to build the atom editor
# in a container with all dependencies installed.
# Note: atom is not a node-webkit app,
# found this out a little too late into this example
# it uses atom-shell(https://github.com/atom/atom-shell)
# Tested on Debian Jessie.
# USAGE:
# # Download atom Dockerfile
# wget http://raw.githubusercontent.com/jfrazelle/dockerfiles/master/atom/Dockerfile
#
# # Build atom image
# docker build -t atom .
#
# docker run -v /tmp/.X11-unix:/tmp/.X11-unix \
# -e DISPLAY=unix$DISPLAY atom
#
DOCKER-VERSION 1.3
# Base docker image
FROM debian:jessie
MAINTAINER Jessica Frazelle <jess@docker.com>
# Install dependencies
RUN apt-get update && apt-get install -y \
build-essential \
ca-certificates \
curl \
git \
libasound2 \
libgconf-2-4 \
libgnome-keyring-dev \
libgtk2.0-0 \
libnss3 \
libxtst6 \
--no-install-recommends
# install node
RUN curl -sL https://deb.nodesource.com/setup | bash -
RUN apt-get install -y nodejs
# clone atom
RUN git clone https://github.com/atom/atom /src
WORKDIR /src
RUN git fetch && git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
RUN script/build && script/grunt install
# Autorun atom
CMD /usr/local/bin/atom --foreground --log-file /var/log/atom.log && tail -f /var/log/atom.log

38
chromium/Dockerfile Normal file
View File

@ -0,0 +1,38 @@
# VERSION: 0.1
# DESCRIPTION: Create chromium container with its dependencies
# AUTHOR: Jessica Frazelle <jess@docker.com>
# COMMENTS:
# This file describes how to build a Chromium container with all
# dependencies installed. It uses native X11 unix socket.
# Tested on Debian Jessie
# USAGE:
# # Download Chromium Dockerfile
# wget http://raw.githubusercontent.com/jfrazelle/dockerfiles/master/chromium/Dockerfile
#
# # Build chromium image
# docker build -t chromium .
#
# # Run stateful data-on-host chromium. For ephemeral, remove -v /data/chromium:/data
# docker run -v /data/chromium:/data -v /tmp/.X11-unix:/tmp/.X11-unix \
# -e DISPLAY=unix$DISPLAY chromium
# # To run stateful dockerized data containers
# docker run --volumes-from chromium-data -v /tmp/.X11-unix:/tmp/.X11-unix \
# -e DISPLAY=unix$DISPLAY chromium
DOCKER_VERSION 1.3
# Base docker image
FROM debian:jessie
MAINTAINER Jessica Frazelle <jess@docker.com>
# Install Chromium
RUN apt-get update && apt-get install -y \
chromium \
chromium-l10n \
libcanberra-gtk-module \
libexif-dev \
--no-install-recommends
# Autorun chromium
CMD ["/usr/bin/chromium", "--no-sandbox", "--user-data-dir=/data"]

30
doctor/Dockerfile Normal file
View File

@ -0,0 +1,30 @@
# VERSION: 0.1
# DESCRIPTION: Run text-based emacs doctor in a container
# AUTHOR: Jessica Frazelle <jess@docker.com>
# COMMENTS:
# This file describes how to build doctor in a container with all
# dependencies installed.
# Tested on Debian Jessie
# USAGE:
# # Download doctor Dockerfile
# wget http://raw.githubusercontent.com/jfrazelle/dockerfiles/master/doctor/Dockerfile
#
# # Build doctor image
# docker build -t doctor .
#
# docker run -it doctor
#
DOCKER-VERSION 1.3
# Base docker image
FROM debian:jessie
MAINTAINER Jessica Frazelle <jess@docker.com>
# Install emacs
RUN apt-get update && apt-get install -y \
emacs \
--no-install-recommends
# Autorun doctor
CMD ["/usr/bin/emacs", "-f", "doctor"]

30
dunnet/Dockerfile Normal file
View File

@ -0,0 +1,30 @@
# VERSION: 0.1
# DESCRIPTION: Run text-based game dunnet in a container
# AUTHOR: Jessica Frazelle <jess@docker.com>
# COMMENTS:
# This file describes how to build dunnet in a container with all
# dependencies installed.
# Tested on Debian Jessie
# USAGE:
# # Download dunnet Dockerfile
# wget http://raw.githubusercontent.com/jfrazelle/dockerfiles/master/dunnet/Dockerfile
#
# # Build dunnet image
# docker build -t dunnet .
#
# docker run -it dunnet
#
DOCKER-VERSION 1.3
# Base docker image
FROM debian:jessie
MAINTAINER Jessica Frazelle <jess@docker.com>
# Install emacs
RUN apt-get update && apt-get install -y \
emacs \
--no-install-recommends
# Autorun dunnet
CMD ["/usr/bin/emacs", "-batch", "-l", "dunnet"]

33
gparted/Dockerfile Normal file
View File

@ -0,0 +1,33 @@
# VERSION: 0.1
# DESCRIPTION: Create gparted container with its dependencies
# AUTHOR: Jessica Frazelle <jess@docker.com>
# COMMENTS:
# This file describes how to build a gparted container with all
# dependencies installed. It uses native X11 unix socket.
# Tested on Debian Jessie
# USAGE:
# # Download gparted Dockerfile
# wget http://raw.githubusercontent.com/jfrazelle/dockerfiles/master/gparted/Dockerfile
#
# # Build gparted image
# docker build -t gparted .
#
# docker run -v /tmp/.X11-unix:/tmp/.X11-unix \
# --device=/dev/sda:/dev/sda \
# -e DISPLAY=unix$DISPLAY gparted
#
DOCKER-VERSION 1.3
# Base docker image
FROM debian:jessie
MAINTAINER Jessica Frazelle <jess@docker.com>
# Install Gparted and its dependencies
RUN apt-get update && apt-get install -y \
gparted \
libcanberra-gtk-module \
--no-install-recommends
# Autorun gparted
CMD ["/usr/sbin/gparted"]

View File

@ -0,0 +1,33 @@
FROM python:2.7.8
MAINTAINER Jessica Frazelle <jess@docker.com>
RUN pip install -U numpy
# install linear algebra dependencies
RUN apt-get update && apt-get install -y \
gfortran \
libopenblas-dev \
liblapack-dev \
libzmq-dev \
--no-install-recommends
RUN pip install -U scipy
RUN pip install -U matplotlib
RUN pip install -U pandas
RUN pip install -U patsy
RUN pip install -U statsmodels
RUN pip install -U scikit-learn
RUN pip install -U ggplot
RUN pip install -U pyzmq
RUN pip install -U jinja2
RUN pip install -U tornado
RUN pip install -U ipython
EXPOSE 8888
ADD notebook.sh /
RUN chmod u+x /notebook.sh && mkdir -p /root/notebooks
WORKDIR /root/notebooks
CMD ["/notebook.sh"]

View File

@ -0,0 +1,21 @@
#!/bin/bash
# Strict mode
IFS=$'\n\t'
if [[ -z "$PEM_FILE" ]]; then
PEM_FILE=/key.pem
fi
# Create a self signed certificate for the user if one doesn't exist
if [[ ! -f $PEM_FILE ]]; then
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout $PEM_FILE -out $PEM_FILE \
-subj "/C=XX/ST=XX/L=XX/O=dockergenerated/CN=dockergenerated"
fi
# Create the hash to pass to the IPython notebook, but don't export it so it doesn't appear
# as an environment variable within IPython kernels themselves
HASH=$(python -c "from IPython.lib import passwd; print passwd('${PASSWORD}')")
unset PASSWORD
ipython notebook --pylab=inline --ip=* --no-browser --port 8888 --certfile=$PEM_FILE --NotebookApp.password="$HASH"

81
ssr/Dockerfile Normal file
View File

@ -0,0 +1,81 @@
# VERSION: 0.1
# DESCRIPTION: Create SimpleScreenRecorder in a container
# AUTHOR: Jessica Frazelle <jess@docker.com>
# COMMENTS:
# This file describes how to build SimpleScreenRecoder
# in a container with all dependencies installed.
# Tested on Debian Jessie.
# USAGE:
# # Download ssr Dockerfile
# wget http://raw.githubusercontent.com/jfrazelle/dockerfiles/master/ssr/Dockerfile
#
# # Build ssr image
# docker build -t ssr .
#
# docker run -v /tmp/.X11-unix:/tmp/.X11-unix \
# -e DISPLAY=unix$DISPLAY ssr
#
DOCKER-VERSION 1.3
# Base docker image
FROM debian:jessie
MAINTAINER Jessica Frazelle <jess@docker.com>
# Install dependencies
RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y \
build-essential \
ca-certificates \
git \
pkg-config \
qt4-qmake \
libqt4-dev \
libavformat-dev \
libavcodec-dev \
libavutil-dev \
libswscale-dev \
libasound2-dev \
libpulse-dev \
libjack-jackd2-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
libx11-dev \
libxfixes-dev \
libxext-dev \
libxi-dev \
g++-multilib \
libx11-6 \
libxext6 \
libxfixes3 \
libxfixes3:i386 \
libglu1-mesa:i386 \
sudo \
--no-install-recommends
# make adjustments
RUN cd /usr/lib/i386-linux-gnu && \
ln -s libGL.so.1 libGL.so && \
ln -s libGLU.so.1 libGLU.so && \
ln -s libX11.so.6 libX11.so && \
ln -s libXext.so.6 libXext.so && \
ln -s libXfixes.so.3 libXfixes.so && \
ldconfig
# add user
#RUN adduser --system --home=/src --shell=/bin/sh --no-create-home \
# --group ssr
# clone source
RUN git clone https://github.com/MaartenBaert/ssr.git /src
# install
#RUN echo "ssr ALL = NOPASSWD: /src/simple-build-and-install" >> /etc/sudoers
RUN sed -i".bak" '10,13d' /src/simple-build-and-install
RUN sed -i".bak" '13,14d' /src/postinstall
RUN cd /src && \
#chown -R ssr /src && \
#sudo -u ssr
/src/simple-build-and-install
# Autorun ssr
CMD ["/usr/bin/simplescreenrecorder"]

30
tetris/Dockerfile Normal file
View File

@ -0,0 +1,30 @@
# VERSION: 0.1
# DESCRIPTION: Run text-based emacs tetris in a container
# AUTHOR: Jessica Frazelle <jess@docker.com>
# COMMENTS:
# This file describes how to build tetris in a container with all
# dependencies installed.
# Tested on Debian Jessie
# USAGE:
# # Download tetris Dockerfile
# wget http://raw.githubusercontent.com/jfrazelle/dockerfiles/master/tetris/Dockerfile
#
# # Build tetris image
# docker build -t tetris .
#
# docker run -it tetris
#
DOCKER-VERSION 1.3
# Base docker image
FROM debian:jessie
MAINTAINER Jessica Frazelle <jess@docker.com>
# Install emacs
RUN apt-get update && apt-get install -y \
emacs \
--no-install-recommends
# Autorun tetris
CMD ["/usr/bin/emacs", "-f", "tetris"]

35
transmission/Dockerfile Normal file
View File

@ -0,0 +1,35 @@
# VERSION: 0.1
# DESCRIPTION: Create transmission container with its dependencies
# AUTHOR: Jessica Frazelle <jess@docker.com>
# COMMENTS:
# This file describes how to build a transmission container with all
# dependencies installed. It uses native X11 unix socket.
# Tested on Debian Jessie
# USAGE:
# # Download transmission Dockerfile
# wget http://raw.githubusercontent.com/jfrazelle/dockerfiles/master/transmission/Dockerfile
#
# # Build transmission image
# docker build -t transmission .
#
# docker run -v /tmp/.X11-unix:/tmp/.X11-unix \
# -v /home/jessie/Torrents:/Torrents \
# -e DISPLAY=unix$DISPLAY transmission
#
DOCKER-VERSION 1.3
# Base docker image
FROM debian:jessie
MAINTAINER Jessica Frazelle <jess@docker.com>
# Install transmission and its dependencies
RUN apt-get update && apt-get install -y \
transmission-cli \
transmission-common \
transmission-daemon \
transmission-gtk \
--no-install-recommends
# Autorun transmission
CMD ["/usr/bin/transmission-gtk"]