diff --git a/container.sh b/container.sh
new file mode 100755
index 0000000000000000000000000000000000000000..367b30d8243cec4abf804c9340a3bb7f01ab7b04
--- /dev/null
+++ b/container.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+IMAGE_TAG="$(date +"%Y-%m-%d")_media_build"
+
+case "$1" in
+  run)
+    if [ ! "$2" ]; then
+      echo "Usage: $0 run IMAGE_TAG"
+      exit 1
+    fi
+    docker run -it \
+    --mount type=bind,source="$(pwd)"/custom_data/env.sh,destination=/build-scripts/env.sh,readonly \
+    --mount type=bind,source="$(pwd)"/kernel,destination=/build-scripts/media-git \
+    "$2" \
+    /bin/bash
+    ;;
+  build)
+    mkdir -p custom_data
+    cat > custom_data/env.sh << EOF
+myrepo=git://linuxtv.org/hverkuil/media_tree.git
+name="Example Name"
+email="example@mail.com"
+EOF
+    if [ ! -d kernel ]; then
+      ./prepare_kernel.sh
+    fi
+    docker build -t $IMAGE_TAG .
+    ;;
+  *)
+    echo "Usage: $0 {run IMAGE_TAG|build}"
+    exit 1
+esac
+
diff --git a/prepare_kernel.sh b/prepare_kernel.sh
new file mode 100755
index 0000000000000000000000000000000000000000..2d027220a28946fbd7bf682124929d2ac1d14091
--- /dev/null
+++ b/prepare_kernel.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git kernel
+cd kernel
+git remote add media_tree git://linuxtv.org/media_tree.git
+git remote add media_stage git://linuxtv.org/media_stage.git