Browse code

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)

Jessica Frazelle authored on 2014/10/10 05:09:58
Showing 5 changed files
... ...
@@ -7,5 +7,5 @@ desktop applications.
7 7
 Examples
8 8
 ========
9 9
 
10
-* Data container: ./data/Dockerfile creates a data image sharing /data volume
11
-* Iceweasel: ./iceweasel/Dockerfile shows a way to dockerize a common multimedia application
10
+* Chromium: ./chromium/Dockerfile shows a way to dockerize a common application
11
+* Gparted: ./gparted/Dockerfile shows a way to dockerize a common application w devices
12 12
new file mode 100644
... ...
@@ -0,0 +1,38 @@
0
+# VERSION:        0.1
1
+# DESCRIPTION:    Create chromium container with its dependencies
2
+# AUTHOR:         Jessica Frazelle <jess@docker.com>
3
+# COMMENTS:
4
+#   This file describes how to build a Chromium container with all
5
+#   dependencies installed. It uses native X11 unix socket.
6
+#   Tested on Debian Jessie
7
+# USAGE:
8
+#   # Download Chromium Dockerfile
9
+#   wget http://raw.githubusercontent.com/docker/docker/master/contrib/desktop-integration/chromium/Dockerfile
10
+#
11
+#   # Build chromium image
12
+#   docker build -t chromium .
13
+#
14
+#   # Run stateful data-on-host chromium. For ephemeral, remove -v /data/chromium:/data
15
+#   docker run -v /data/chromium:/data -v /tmp/.X11-unix:/tmp/.X11-unix \
16
+#   -e DISPLAY=unix$DISPLAY chromium
17
+
18
+#   # To run stateful dockerized data containers
19
+#   docker run --volumes-from chromium-data -v /tmp/.X11-unix:/tmp/.X11-unix \
20
+#   -e DISPLAY=unix$DISPLAY chromium
21
+
22
+DOCKER_VERSION 1.3
23
+
24
+# Base docker image
25
+FROM debian:jessie
26
+MAINTAINER Jessica Frazelle <jess@docker.com>
27
+
28
+# Install Chromium
29
+RUN apt-get update && apt-get install -y \
30
+    chromium \
31
+    chromium-l10n \
32
+    libcanberra-gtk-module \
33
+    libexif-dev \
34
+    --no-install-recommends
35
+
36
+# Autorun chromium
37
+CMD ["/usr/bin/chromium", "--no-sandbox", "--user-data-dir=/data"]
0 38
deleted file mode 100644
... ...
@@ -1,38 +0,0 @@
1
-# VERSION:        0.1
2
-# DESCRIPTION:    Create data image sharing /data volume
3
-# AUTHOR:         Daniel Mizyrycki <daniel@dotcloud.com>
4
-# COMMENTS:
5
-#   This image is used as base for all data containers.
6
-#   /data volume is owned by sysadmin.
7
-# USAGE:
8
-#   # Download data Dockerfile
9
-#   wget http://raw.githubusercontent.com/dotcloud/docker/master/contrib/desktop-integration/data/Dockerfile
10
-#
11
-#   # Build data image
12
-#   docker build -t data .
13
-#
14
-#   # Create a data container. (eg: iceweasel-data)
15
-#   docker run --name iceweasel-data data true
16
-#
17
-#   # List data from it
18
-#   docker run --volumes-from iceweasel-data busybox ls -al /data
19
-
20
-docker-version 0.6.5
21
-
22
-# Smallest base image, just to launch a container
23
-FROM busybox
24
-MAINTAINER Daniel Mizyrycki <daniel@docker.com>
25
-
26
-# Create a regular user
27
-RUN echo 'sysadmin:x:1000:1000::/data:/bin/sh' >> /etc/passwd
28
-RUN echo 'sysadmin:x:1000:' >> /etc/group
29
-
30
-# Create directory for that user
31
-RUN mkdir /data
32
-RUN chown sysadmin.sysadmin /data
33
-
34
-# Add content to /data. This will keep sysadmin ownership
35
-RUN touch /data/init_volume
36
-
37
-# Create /data volume
38
-VOLUME /data
39 1
new file mode 100644
... ...
@@ -0,0 +1,33 @@
0
+# VERSION:        0.1
1
+# DESCRIPTION:    Create gparted container with its dependencies
2
+# AUTHOR:         Jessica Frazelle <jess@docker.com>
3
+# COMMENTS:
4
+#   This file describes how to build a gparted container with all
5
+#   dependencies installed. It uses native X11 unix socket. 
6
+#   Tested on Debian Jessie
7
+# USAGE:
8
+#   # Download gparted Dockerfile
9
+#   wget http://raw.githubusercontent.com/docker/docker/master/contrib/desktop-integration/gparted/Dockerfile
10
+#
11
+#   # Build gparted image
12
+#   docker build -t gparted .
13
+#
14
+#   docker run -v /tmp/.X11-unix:/tmp/.X11-unix \
15
+#     --device=/dev/sda:/dev/sda \
16
+#     -e DISPLAY=unix$DISPLAY gparted
17
+#
18
+
19
+DOCKER-VERSION 1.3
20
+
21
+# Base docker image
22
+FROM debian:jessie
23
+MAINTAINER Jessica Frazelle <jess@docker.com>
24
+
25
+# Install Gparted and its dependencies
26
+RUN apt-get update && apt-get install -y \
27
+    gparted \
28
+    libcanberra-gtk-module \
29
+    --no-install-recommends
30
+
31
+# Autorun gparted
32
+CMD ["/usr/sbin/gparted"]
0 33
deleted file mode 100644
... ...
@@ -1,41 +0,0 @@
1
-# VERSION:        0.7
2
-# DESCRIPTION:    Create iceweasel container with its dependencies
3
-# AUTHOR:         Daniel Mizyrycki <daniel@dotcloud.com>
4
-# COMMENTS:
5
-#   This file describes how to build a Iceweasel container with all
6
-#   dependencies installed. It uses native X11 unix socket and alsa
7
-#   sound devices. Tested on Debian 7.2
8
-# USAGE:
9
-#   # Download Iceweasel Dockerfile
10
-#   wget http://raw.githubusercontent.com/dotcloud/docker/master/contrib/desktop-integration/iceweasel/Dockerfile
11
-#
12
-#   # Build iceweasel image
13
-#   docker build -t iceweasel .
14
-#
15
-#   # Run stateful data-on-host iceweasel. For ephemeral, remove -v /data/iceweasel:/data
16
-#   docker run -v /data/iceweasel:/data -v /tmp/.X11-unix:/tmp/.X11-unix \
17
-#     -v /dev/snd:/dev/snd --lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
18
-#     -e DISPLAY=unix$DISPLAY iceweasel
19
-#
20
-#   # To run stateful dockerized data containers
21
-#   docker run --volumes-from iceweasel-data -v /tmp/.X11-unix:/tmp/.X11-unix \
22
-#     -v /dev/snd:/dev/snd --lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' \
23
-#     -e DISPLAY=unix$DISPLAY iceweasel
24
-
25
-docker-version 0.6.5
26
-
27
-# Base docker image
28
-FROM debian:wheezy
29
-MAINTAINER Daniel Mizyrycki <daniel@docker.com>
30
-
31
-# Install Iceweasel and "sudo"
32
-RUN apt-get update && apt-get install -y iceweasel sudo
33
-
34
-# create sysadmin account
35
-RUN useradd -m -d /data -p saIVpsc0EVTwA sysadmin
36
-RUN sed -Ei 's/sudo:x:27:/sudo:x:27:sysadmin/' /etc/group
37
-RUN sed -Ei 's/(\%sudo\s+ALL=\(ALL\:ALL\) )ALL/\1 NOPASSWD:ALL/' /etc/sudoers
38
-
39
-# Autorun iceweasel. -no-remote is necessary to create a new container, as
40
-# iceweasel appears to communicate with itself through X11.
41
-CMD ["/usr/bin/sudo", "-u", "sysadmin", "-H", "-E", "/usr/bin/iceweasel", "-no-remote"]