dotfiles/.dockerfunc

636 lines
17 KiB
Plaintext
Raw Normal View History

2015-10-24 00:57:07 +02:00
#!/bin/bash
# Bash wrappers for docker run commands
# inspired by https://github.com/jfrazelle/dotfiles/ <3
export DOCKER_REPO_PREFIX=fschl
2015-10-24 00:57:07 +02:00
#
# Helper Functions
#
dcleanup() {
# TODO: add list of non-disposable containers (eclipse, intelliJ, ...?)
2015-12-15 16:51:37 +01:00
docker rm -v $(docker ps --filter status=exited -q 2>/dev/null) 2>/dev/null
docker rmi $(docker images --filter dangling=true -q 2>/dev/null) 2>/dev/null
2015-10-24 00:57:07 +02:00
}
del_stopped() {
2015-12-15 16:51:37 +01:00
local name=$1
local state=$(docker inspect --format "{{.State.Running}}" $name 2>/dev/null)
2015-10-24 00:57:07 +02:00
2015-12-15 16:51:37 +01:00
if [[ "$state" == "false" ]]; then
docker rm $name
fi
2015-10-24 00:57:07 +02:00
}
relies_on() {
2015-12-15 16:51:37 +01:00
local containers=$@
2015-10-24 00:57:07 +02:00
2015-12-15 16:51:37 +01:00
for container in $containers; do
local state=$(docker inspect --format "{{.State.Running}}" $container 2>/dev/null)
2015-10-24 00:57:07 +02:00
2015-12-15 16:51:37 +01:00
if [[ "$state" == "false" ]] || [[ "$state" == "" ]]; then
echo "$container is not running, starting it for you."
$container
fi
done
2015-10-24 00:57:07 +02:00
}
2015-10-30 11:37:04 +01:00
# Applications...
2016-03-10 11:53:06 +01:00
android-studio() {
ANDROID_DIR="/home/fschl/projects/android"
# for dir in .studio-home .gradle .idea .android/avd; do
# mkdir -p $ANDROID_DIR/.docker-dev/$dir
# done
# TODO: mount /home/developer/android-sdk-linux
# docker start android-studio
2016-03-10 11:53:06 +01:00
## You don't want to remove the container between uses, because many things installed
## via the _Android Studio GUI_ are only stored in the container.
# del_stopped android-studio
2016-03-10 11:53:06 +01:00
docker run -it \
--net=host \
--name android-studio \
--privileged \
-e DISPLAY \
-e SHELL=/bin/bash \
2016-03-10 11:53:06 +01:00
-e GRADLE_USER_HOME='/workspace/.docker-dev/.gradle/home' \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /dev/bus/usb:/dev/bus/usb \
-v $ANDROID_DIR/projects:/home/developer/AndroidStudioProjects \
-v $ANDROID_DIR:/workspace \
-v $ANDROID_DIR/.docker-dev/.studio-home:/home/developer/.AndroidStudio1.2 \
2018-06-08 19:56:59 +02:00
-v $ANDROID_DIR/.docker-dev/.android:/home/developer/.android \
2018-06-14 09:45:13 +02:00
${DOCKER_REPO_PREFIX}/android:3 \
2016-03-10 11:53:06 +01:00
/bin/studio
2016-03-15 16:08:00 +01:00
#exit 0;
2016-03-10 11:53:06 +01:00
}
2016-09-13 10:34:33 +02:00
ant() {
local args=$@
local cur_dir=$(pwd)
local targetmount=$(basename $cur_dir)
docker run -it --rm \
-v $(pwd):/src/$targetmount \
-w /src/$targetmount \
${DOCKER_REPO_PREFIX}/antpp \
bash -c "$args"
2016-09-13 10:34:33 +02:00
}
2018-06-08 19:56:59 +02:00
arduino() {
docker run \
-it \
--rm \
--network=host \
--privileged \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /dev/ttyUSB0:/dev/ttyUSB0 \
-v $HOME/topics:/topics \
-v $HOME/projects:/projects \
tombenke/darduino:latest \
arduino
}
2015-11-04 18:00:37 +01:00
bro() {
2015-10-30 11:37:04 +01:00
docker run -it --rm \
${DOCKER_REPO_PREFIX}/bropages \
2015-11-04 18:00:37 +01:00
bro "$@"
2015-10-30 11:37:04 +01:00
}
2015-10-24 00:57:07 +02:00
chrome() {
2015-12-15 16:51:37 +01:00
# add flags for proxy if passed
local proxy=
local map=
local args=$@
del_stopped chrome
# one day remove /etc/hosts bind mount when effing
# overlay support inotify, such bullshit
2015-12-26 12:05:14 +01:00
# --memory 2gb \
2015-12-15 16:51:37 +01:00
docker run -d \
--net host \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/Downloads:/root/Downloads \
-v $HOME/Pictures:/root/Pictures \
-v $HOME/Torrents:/root/Torrents \
-v $HOME/.chrome:/data \
-v /dev/shm:/dev/shm \
-v /etc/hosts:/etc/hosts \
--device /dev/snd \
--device /dev/dri \
--device /dev/video0 \
--group-add audio \
--group-add video \
2015-12-26 12:05:14 +01:00
--name="chrome" \
${DOCKER_REPO_PREFIX}/chrome:latest --user-data-dir=/data
2015-12-26 12:05:14 +01:00
#--force-device-scale-factor=1 \
#--proxy-server="$proxy" --host-resolver-rules="$map" "$args"
2015-10-24 00:57:07 +02:00
}
2017-03-16 14:47:38 +01:00
clion() {
#del_stopped intelli_ult
docker run -it \
--net host \
--name="clion" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/.CLion2016.3/:/home/developer/.CLion2016.3/ \
-v $HOME/.clion_config/:/home/developer/clion-2016.3.3/ \
-v $HOME/projects/cpp/clProjects:/home/developer/CLionProjects/ \
-p 8080:8080 \
${DOCKER_REPO_PREFIX}/clion:latest
}
2018-01-06 15:30:29 +01:00
cordova() {
docker run -it \
--name="cordova-cli" \
--net host \
-v $HOME/projects/cordova/:/src/ \
-v /dev/bus/usb:/dev/bus/usb \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-p 127.0.0.1:8000:8000 \
fschl/cordova bash
}
2015-10-24 00:57:07 +02:00
eclipse() {
2015-12-15 16:51:37 +01:00
del_stopped eclipse
2015-11-25 16:13:11 +01:00
2015-12-15 16:51:37 +01:00
docker run -d \
2015-10-24 00:57:07 +02:00
--net host \
2015-12-26 12:05:14 +01:00
--name="eclipse" \
2015-11-02 20:35:18 +01:00
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
2015-12-15 16:51:37 +01:00
-v $HOME/projects/java/workspace:/home/eclipse/workspace \
2015-10-24 00:57:07 +02:00
-v $HOME/.eclipse/plugins:/opt/eclipse/plugins \
-v $HOME/.eclipse/configuration:/opt/eclipse/configuration \
-v $HOME/.eclipse/sonar:/home/eclipse/.sonar \
${DOCKER_REPO_PREFIX}/eclipse:latest
# exit 0;
}
eneon() {
del_stopped eclipse_neon
# -v $HOME/.eclipse_neon/plugins:/opt/eclipse/plugins \
# -v $HOME/.eclipse_neon/configuration:/opt/eclipse/configuration \
# -v $HOME/.eclipse_neon/sonar:/home/eclipse/.sonar \
docker run -it \
--net host \
--name="eclipse_neon" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/projects/java/workspace:/home/eclipse/workspace \
-v $HOME/dockerfiles/eclipse/eclipse.ini:/opt/eclipse/eclipse.ini:ro \
-v $HOME/.eclipse_neon/eclipse:/home/elipse/.eclipse/ \
-v $HOME/.eclipse_neon/plugins:/opt/eclipse/plugins/ \
-v $HOME/.eclipse_neon/configuration:/opt/eclipse/configuration \
2018-06-08 19:56:59 +02:00
-v /var/run/docker.sock:/var/run/docker.sock \
2016-10-05 11:28:11 +02:00
-v $(which docker):/bin/docker \
--device /dev/video0 \
--group-add audio \
--group-add video \
${DOCKER_REPO_PREFIX}/eclipse:neon
2016-10-05 11:28:11 +02:00
# exit 0;
2015-10-24 00:57:07 +02:00
}
2018-06-08 19:56:59 +02:00
oxygen() {
# del_stopped papyrus
MYUSERID=$(id --user)
echo "starting papyrus with uid"
echo $MYUSERID
# -v $BASE/.eclipse:/home/eclipse/.eclipse/ \
# -v $BASE/.gradle:/home/eclipse/.gradle/ \
# -v $BASE/.egradle:/home/eclipse/.egradle/ \
# -v $BASE/plugins:/opt/eclipse/plugins/ \
# -v $BASE/configuration:/opt/eclipse/configuration \
local BASE="/media/driveBay/Backups/eclipse-configs/oxygen_configs"
docker run -it \
--net host \
--name="oxygen" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/projects/java/workspace:/home/eclipse/workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/bin/docker \
--user $MYUSERID \
--device /dev/video0 \
--group-add audio \
--group-add video \
${DOCKER_REPO_PREFIX}/eclipse:oxygen \
sh -c "/opt/eclipse/eclipse"
# exit 0;
}
2016-03-08 10:37:50 +01:00
gimp() {
del_stopped gimp
docker run -d \
2016-03-15 16:08:00 +01:00
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/Pictures:/root/Pictures \
-v $HOME/Documents:/root/Documents \
2016-03-15 16:08:00 +01:00
--name gimp \
${DOCKER_REPO_PREFIX}/gimp
2016-04-13 18:05:49 +02:00
exit 0;
2016-03-08 10:37:50 +01:00
}
2015-12-15 01:20:42 +01:00
icedove() {
del_stopped icedove
2018-06-08 19:56:59 +02:00
MYUSERID=$(id --user)
echo "starting with"
echo $MYUSERID
2015-12-15 01:20:42 +01:00
docker run -d \
2015-12-26 12:05:14 +01:00
--name="icedove" \
2015-12-15 01:20:42 +01:00
-v /etc/localtime:/etc/localtime:ro \
-v $HOME/Downloads/:/root/Downloads \
2016-10-05 11:28:11 +02:00
-v $HOME/Documents/:/root/Documents \
2018-06-08 19:56:59 +02:00
-v $HOME/.thunderbird/:/root/.thunderbird \
2015-12-15 01:20:42 +01:00
-v $HOME/.gnupg/:/root/.gnupg \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
2018-06-08 19:56:59 +02:00
${DOCKER_REPO_PREFIX}/thunderbird:latest
# -v $HOME/.thunderbird/:/root/.icedove \
# ${DOCKER_REPO_PREFIX}/icedove:latest
exit 0;
2015-12-15 01:20:42 +01:00
}
2018-06-08 19:56:59 +02:00
thunderbird() {
del_stopped thunderbird
MYUSERID=$(id --user)
echo "starting thunderbird with uid"
echo $MYUSERID
# docker run -d
docker run -ti \
--name="thunderbird" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v /etc/localtime:/etc/localtime:ro \
--user $MYUSERID \
-v $HOME/Downloads/:/home/appuser/Downloads \
-v $HOME/Documents/:/home/appuser/Documents \
-v $HOME/.thunderbird/:/home/appuser/.thunderbird \
-v $HOME/.gnupg/:/home/appuser/.gnupg \
${DOCKER_REPO_PREFIX}/thunderbird:latest \
bash
# exit 0;
}
2016-03-22 09:17:44 +01:00
inkscape() {
del_stopped inkscape
# -v $HOME/.Xauthority:/home/inkscaper/.Xauthority \
docker run --rm \
--name="inkscape" \
-v $HOME/Pictures:/home/inkscaper/Pictures \
-v $HOME/Documents:/home/inkscaper/Documents \
-u inkscaper \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
--net=host \
${DOCKER_REPO_PREFIX}/inkscape:latest
2016-04-13 18:05:49 +02:00
exit 0;
2016-03-22 09:17:44 +01:00
}
intelli_ult() {
#del_stopped intelli_ult
docker run -it \
--net host \
--name="intelli_ult" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/projects/java/IdeaProjects:/home/developer/IdeaProjects/ \
-v m2-local:/root/.m2 \
-v $HOME/.IntelliJIdea_ult/:/home/developer/.IntelliJIdea2016.2/ \
-p 8080:8080 \
${DOCKER_REPO_PREFIX}/intellij-ult:latest
}
2016-09-13 10:34:33 +02:00
java() {
local args=$@
local cur_dir=$(pwd)
local PROJECT=$(basename $cur_dir)
del_stopped java_$PROJECT
docker run -it \
--name="java_$PROJECT" \
-v $(pwd):/src/$PROJECT \
-w /src/$PROJECT \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
--net=host \
openjdk:8 \
2016-10-05 11:28:11 +02:00
bash -c "$args"
2016-09-13 10:34:33 +02:00
}
2015-10-30 11:37:04 +01:00
latex() {
del_stopped latex
docker run -it --rm \
--net host \
-v $(pwd):/usr/src/latex \
--workdir="/usr/src/latex" \
${DOCKER_REPO_PREFIX}/latex "$@"
2015-10-30 11:37:04 +01:00
}
2017-01-11 16:54:13 +01:00
pdflatex() {
local file=$@
local cur_dir=$(pwd)
local FILENAME=${file%%.*}
latex bash -c "latex $file; latex $file; pdflatex $file"
sudo rm $FILENAME.aux $FILENAME.dvi $FILENAME.out
sudo chown ${DOCKER_REPO_PREFIX}:${DOCKER_REPO_PREFIX} $FILENAME.pdf
}
2015-12-16 13:28:20 +01:00
libreoffice() {
2015-12-15 01:20:42 +01:00
del_stopped libreoffice
docker run -d \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/Documents:/root/Documents \
-v $HOME/Pictures:/root/Pictures \
2016-10-05 11:28:11 +02:00
-v $HOME/Downloads:/root/Downloads \
2015-12-15 01:20:42 +01:00
-e GDK_SCALE \
-e GDK_DPI_SCALE \
--name libreoffice \
${DOCKER_REPO_PREFIX}/libreoffice
2016-07-01 01:37:22 +02:00
exit 0;
2015-12-15 01:20:42 +01:00
}
2016-09-28 19:48:15 +02:00
memo() {
del_stopped memo_standalone
docker run -it \
--name memo_standalone \
--net host \
-v $HOME/Documents:/root/Documents \
-v $HOME/Downloads:/root/Downloads \
-v $HOME/.memo:/root/.memo \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
${DOCKER_REPO_PREFIX}/memo:latest
2016-09-28 19:48:15 +02:00
#exit 0;
}
2016-05-31 08:21:43 +02:00
netbeans() {
2016-07-01 01:37:22 +02:00
2016-05-31 08:21:43 +02:00
docker run -it \
2016-07-01 01:37:22 +02:00
--name netbeans \
2016-05-31 08:21:43 +02:00
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $HOME/.netbeans-docker:/home/developer/.netbeans \
-v $HOME/projects/java/workspace:/home/developer/NetBeansProjects \
-v $HOME/projects/java/workspace:/workspace \
${DOCKER_REPO_PREFIX}/netbeans:latest
2016-05-31 08:21:43 +02:00
}
2015-12-16 13:28:20 +01:00
# start from a directory which contains a openvpn config file named 'config.ovpn'
# cert and key files should be in the same directory or relatively referencable
# from the config file
openvpn() {
del_stopped openvpn
docker run -it --rm \
2015-12-26 12:05:14 +01:00
--name="openvpn" \
2015-12-16 13:28:20 +01:00
--net host \
--device /dev/net/tun:/dev/net/tun \
--cap-add NET_ADMIN \
-v "$PWD":/etc/openvpn \
${DOCKER_REPO_PREFIX}/openvpn:latest config.ovpn
2015-12-16 13:28:20 +01:00
}
2018-06-14 09:45:13 +02:00
papyrus() {
# del_stopped papyrus
MYUSERID=$(id --user)
echo "starting papyrus with uid"
echo $MYUSERID
# -v $BASE/.eclipse:/home/eclipse/.eclipse/ \
# -v $BASE/.gradle:/home/eclipse/.gradle/ \
# -v $BASE/.egradle:/home/eclipse/.egradle/ \
# -v $BASE/plugins:/opt/eclipse/plugins/ \
# -v $BASE/configuration:/opt/eclipse/configuration \
local BASE="/media/driveBay/Backups/eclipse-configs/oxygen_configs"
docker run -it \
--net host \
--name="papyrus" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/projects/java/workspace:/home/eclipse/workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/bin/docker \
--user $MYUSERID \
--device /dev/video0 \
--group-add audio \
--group-add video \
${DOCKER_REPO_PREFIX}/papyrus:latest \
sh -c "/opt/eclipse/eclipse"
# exit 0;
}
2015-12-16 13:28:20 +01:00
2015-10-24 00:57:07 +02:00
pulseaudio() {
2015-12-15 01:20:42 +01:00
del_stopped pulseaudio
2015-10-24 00:57:07 +02:00
2015-12-15 01:20:42 +01:00
docker run -d \
-v /etc/localtime:/etc/localtime:ro \
--device /dev/snd \
-p 4713:4713 \
--restart always \
--name pulseaudio \
${DOCKER_REPO_PREFIX}/pulseaudio
2015-10-24 00:57:07 +02:00
}
2015-12-15 01:20:42 +01:00
# pulseaudio() {
# del_stopped pulseaudio
# docker run -d \
# -v /etc/localtime:/etc/localtime:ro \
# --device /dev/snd \
# -p 4713:4713 \
# --restart always \
# -v /var/run/dbus:/var/run/dbus \
# -v /etc/machine-id:/etc/machine-id \
# --name pulseaudio \
# ${DOCKER_REPO_PREFIX}/pulseaudio
2015-12-15 01:20:42 +01:00
# }
2018-06-08 19:56:59 +02:00
p3() {
local args=$@
local cur_dir=$(pwd)
local targetmount=$(basename $cur_dir)
docker run -it --rm \
-v $(pwd):/src/$targetmount \
-w /src/$targetmount \
python:3 \
bash -c "$args"
}
2016-03-10 11:53:06 +01:00
rstudio(){
del_stopped rstudio
docker run -d \
2016-03-15 16:08:00 +01:00
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $HOME/fastly-logs:/root/fastly-logs \
-v /dev/shm:/dev/shm \
-p 8787 \
-e DISPLAY=unix$DISPLAY \
--device /dev/dri \
--name rstudio \
rocker/rstudio
2016-07-01 01:37:22 +02:00
exit 0;
2016-03-10 11:53:06 +01:00
}
2016-04-13 18:05:49 +02:00
2016-04-04 14:08:03 +02:00
scenebuilder() {
del_stopped scenebuilder
2016-04-13 18:05:49 +02:00
docker run -it \
2016-04-04 14:08:03 +02:00
--net host \
--name="scenebuilder" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-v $HOME/projects/java/workspace:/home/eclipse/workspace \
${DOCKER_REPO_PREFIX}/scenebuilder:latest "$@"
2016-04-13 18:05:49 +02:00
exit 0;
2016-04-04 14:08:03 +02:00
}
2016-03-10 11:53:06 +01:00
2015-10-24 00:57:07 +02:00
skype() {
2015-12-15 01:20:42 +01:00
del_stopped skype
2015-10-24 00:57:07 +02:00
2015-12-15 01:20:42 +01:00
docker run -d \
-v $HOME/Downloads:/root/skype/Downloads \
2015-10-24 00:57:07 +02:00
-v /run/user/1000/pulse:/run/user/1000/pulse \
-v /var/lib/dbus:/var/lib/dbus \
-v ~/.pulse:/root/.pulse \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
--device /dev/video0 \
--device /dev/snd \
--name skype \
--net host \
${DOCKER_REPO_PREFIX}/skype
2016-07-01 01:37:22 +02:00
exit 0;
2015-10-24 00:57:07 +02:00
}
2015-11-02 20:35:18 +01:00
2018-06-15 18:14:09 +02:00
# call with net-name as param
tinc() {
local tinc_dir="${HOME}/.config/etc-tinc"
local NET_NAME=$1
if [[ -z ${NET_NAME} ]]; then
echo "Error: tinc needs to be called with a net-name!!"
else
local tinc_name=$(grep -Po '(?<=Name = )[\w]+' ${tinc_dir}/${NET_NAME}/tinc.conf)
local container_name="tinc_${tinc_name}"
echo " running ${container_name} in net ${NET_NAME}"
docker run -d \
--restart always \
2018-06-15 18:24:49 +02:00
--name=${container_name} \
--net=host \
2018-06-15 18:14:09 +02:00
--device=/dev/net/tun \
--cap-add NET_ADMIN \
--volume ${tinc_dir}:/etc/tinc \
${DOCKER_REPO_PREFIX}/tinc \
-n ${NET_NAME} start -D
fi
}
2015-11-02 20:35:18 +01:00
torbrowser() {
del_stopped torbrowser
docker run -d \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-e GDK_SCALE \
-e GDK_DPI_SCALE \
--device /dev/snd \
--name torbrowser \
${DOCKER_REPO_PREFIX}/tor-browser
2016-07-01 01:37:22 +02:00
exit 0;
2015-11-02 20:35:18 +01:00
}
2015-12-20 23:49:15 +01:00
2016-01-03 10:38:57 +01:00
transmission() {
del_stopped transmission
docker run -d \
2016-03-15 16:08:00 +01:00
-v /etc/localtime:/etc/localtime:ro \
-v $HOME/Downloads:/transmission/download \
-v $HOME/.transmission:/transmission/config \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
--name transmission \
${DOCKER_REPO_PREFIX}/transmission
2016-03-15 16:08:00 +01:00
}
2016-01-03 10:38:57 +01:00
2016-09-12 11:00:50 +02:00
wireshark() {
del_stopped wireshark
2015-12-20 23:49:15 +01:00
docker run -it \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
2016-09-12 11:00:50 +02:00
-v $(pwd):/home/wireshark \
2015-12-20 23:49:15 +01:00
-e DISPLAY=unix$DISPLAY \
2016-09-12 11:00:50 +02:00
--name wireshark \
jess/wireshark
2015-12-20 23:49:15 +01:00
}