mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Update desktop integration examples to be more up to date.
Chromium > Iceweasel and cool new gparted example. Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
This commit is contained in:
parent
d095659c6e
commit
8aa468ef56
5 changed files with 73 additions and 81 deletions
|
@ -7,5 +7,5 @@ desktop applications.
|
||||||
Examples
|
Examples
|
||||||
========
|
========
|
||||||
|
|
||||||
* Data container: ./data/Dockerfile creates a data image sharing /data volume
|
* Chromium: ./chromium/Dockerfile shows a way to dockerize a common application
|
||||||
* Iceweasel: ./iceweasel/Dockerfile shows a way to dockerize a common multimedia application
|
* Gparted: ./gparted/Dockerfile shows a way to dockerize a common application w devices
|
||||||
|
|
38
contrib/desktop-integration/chromium/Dockerfile
Normal file
38
contrib/desktop-integration/chromium/Dockerfile
Normal 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/docker/docker/master/contrib/desktop-integration/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"]
|
|
@ -1,38 +0,0 @@
|
||||||
# VERSION: 0.1
|
|
||||||
# DESCRIPTION: Create data image sharing /data volume
|
|
||||||
# AUTHOR: Daniel Mizyrycki <daniel@dotcloud.com>
|
|
||||||
# COMMENTS:
|
|
||||||
# This image is used as base for all data containers.
|
|
||||||
# /data volume is owned by sysadmin.
|
|
||||||
# USAGE:
|
|
||||||
# # Download data Dockerfile
|
|
||||||
# wget http://raw.githubusercontent.com/dotcloud/docker/master/contrib/desktop-integration/data/Dockerfile
|
|
||||||
#
|
|
||||||
# # Build data image
|
|
||||||
# docker build -t data .
|
|
||||||
#
|
|
||||||
# # Create a data container. (eg: iceweasel-data)
|
|
||||||
# docker run --name iceweasel-data data true
|
|
||||||
#
|
|
||||||
# # List data from it
|
|
||||||
# docker run --volumes-from iceweasel-data busybox ls -al /data
|
|
||||||
|
|
||||||
docker-version 0.6.5
|
|
||||||
|
|
||||||
# Smallest base image, just to launch a container
|
|
||||||
FROM busybox
|
|
||||||
MAINTAINER Daniel Mizyrycki <daniel@docker.com>
|
|
||||||
|
|
||||||
# Create a regular user
|
|
||||||
RUN echo 'sysadmin:x:1000:1000::/data:/bin/sh' >> /etc/passwd
|
|
||||||
RUN echo 'sysadmin:x:1000:' >> /etc/group
|
|
||||||
|
|
||||||
# Create directory for that user
|
|
||||||
RUN mkdir /data
|
|
||||||
RUN chown sysadmin.sysadmin /data
|
|
||||||
|
|
||||||
# Add content to /data. This will keep sysadmin ownership
|
|
||||||
RUN touch /data/init_volume
|
|
||||||
|
|
||||||
# Create /data volume
|
|
||||||
VOLUME /data
|
|
33
contrib/desktop-integration/gparted/Dockerfile
Normal file
33
contrib/desktop-integration/gparted/Dockerfile
Normal 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/docker/docker/master/contrib/desktop-integration/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"]
|
|
@ -1,41 +0,0 @@
|
||||||
# VERSION: 0.7
|
|
||||||
# DESCRIPTION: Create iceweasel container with its dependencies
|
|
||||||
# AUTHOR: Daniel Mizyrycki <daniel@dotcloud.com>
|
|
||||||
# COMMENTS:
|
|
||||||
# This file describes how to build a Iceweasel container with all
|
|
||||||
# dependencies installed. It uses native X11 unix socket and alsa
|
|
||||||
# sound devices. Tested on Debian 7.2
|
|
||||||
# USAGE:
|
|
||||||
# # Download Iceweasel Dockerfile
|
|
||||||
# wget http://raw.githubusercontent.com/dotcloud/docker/master/contrib/desktop-integration/iceweasel/Dockerfile
|
|
||||||
#
|
|
||||||
# # Build iceweasel image
|
|
||||||
# docker build -t iceweasel .
|
|
||||||
#
|
|
||||||
# # Run stateful data-on-host iceweasel. For ephemeral, remove -v /data/iceweasel:/data
|
|
||||||
# docker run -v /data/iceweasel:/data -v /tmp/.X11-unix:/tmp/.X11-unix \
|
|
||||||
# -v /dev/snd:/dev/snd --lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
|
|
||||||
# -e DISPLAY=unix$DISPLAY iceweasel
|
|
||||||
#
|
|
||||||
# # To run stateful dockerized data containers
|
|
||||||
# docker run --volumes-from iceweasel-data -v /tmp/.X11-unix:/tmp/.X11-unix \
|
|
||||||
# -v /dev/snd:/dev/snd --lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
|
|
||||||
# -e DISPLAY=unix$DISPLAY iceweasel
|
|
||||||
|
|
||||||
docker-version 0.6.5
|
|
||||||
|
|
||||||
# Base docker image
|
|
||||||
FROM debian:wheezy
|
|
||||||
MAINTAINER Daniel Mizyrycki <daniel@docker.com>
|
|
||||||
|
|
||||||
# Install Iceweasel and "sudo"
|
|
||||||
RUN apt-get update && apt-get install -y iceweasel sudo
|
|
||||||
|
|
||||||
# create sysadmin account
|
|
||||||
RUN useradd -m -d /data -p saIVpsc0EVTwA sysadmin
|
|
||||||
RUN sed -Ei 's/sudo:x:27:/sudo:x:27:sysadmin/' /etc/group
|
|
||||||
RUN sed -Ei 's/(\%sudo\s+ALL=\(ALL\:ALL\) )ALL/\1 NOPASSWD:ALL/' /etc/sudoers
|
|
||||||
|
|
||||||
# Autorun iceweasel. -no-remote is necessary to create a new container, as
|
|
||||||
# iceweasel appears to communicate with itself through X11.
|
|
||||||
CMD ["/usr/bin/sudo", "-u", "sysadmin", "-H", "-E", "/usr/bin/iceweasel", "-no-remote"]
|
|
Loading…
Reference in a new issue