Open renefritze opened 4 years ago
In GitLab by @tobiasleibner on Oct 12, 2020, 07:59
Created by: renefritze
No, I don't use any of the scripts. I have a global $HOME/.dockerrun.rc
SYSTEM=${DOCKER_IMAGE/\//_}
DOCKER_TAG=${DOCKER_TAG:-latest}
export ZIVGITLAB_TOKEN=SECRET
EXPOSED_PORT=$(shuf -i 14000-17000 -n 1)
DOCKER_OPTS_COMMON="-m 24G \
--rm --privileged=true -t -i \
--cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
-e LOCAL_USER=$USER -e LOCAL_UID=$(id -u) -e LOCAL_GID=$(id -g) \
-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix \
-e ZIVGITLAB_TOKEN=${ZIVGITLAB_TOKEN} \
-v /etc/localtime:/etc/localtime:ro \
-v ${HOME}/.dbus:/home/${USER}/.dbus \
-v MORE_STUFF \
--ipc=host \
-p ${EXPOSED_PORT}:${EXPOSED_PORT} \
-e EXPOSED_PORT=${EXPOSED_PORT} \
-v ${HOME}/.config/allinea:/home/${USER}/.config/allinea"
DOCKER_HOME=~/projekte/uni/dune/docker/home/${DOCKER_SRC_DIR}/${SYSTEM}
DOCKER_OPTS_DOCKER_SRC_DIR="--hostname ${SYSTEM/_/-} \
-v $DOCKER_HOME:/home/${USER} \
${DOCKER_EXTRA} \
-v ${BASEDIR}/${DOCKER_SRC_DIR}:/home/${USER}/${DOCKER_SRC_DIR}"
function dockerrun () {
mkdir -p ${DOCKER_HOME} 2> /dev/null
docker run ${DOCKER_OPTS_COMMON} ${DOCKER_OPTS_DOCKER_SRC_DIR} \
dunecommunity/${DOCKER_IMAGE}:${DOCKER_TAG} bash
}
and a small run script per project
#!/bin/bash
BASEDIR="$(cd "$(dirname ${BASH_SOURCE[0]})" ; pwd -P )"
DOCKER_IMAGE=debian-unstable-clion
DOCKER_SRC_DIR=main_xt
. ${HOME}/.dockerrun.rc
dockerrun
If I'd switch to rootless docker, I'd just need to set the right user mapping in my global rc, right?
In GitLab by @tobiasleibner on Oct 12, 2020, 08:10
Created by: tobiasleibner
I am using the scripts but mostly to checkout the CI docker images to reproduce test failures locally. As long as that still works, I am fine with all changes. If it is easier to write and understand, two scripts sounds good.
In GitLab by @tobiasleibner on Oct 13, 2020, 07:08
Created by: ftalbrecht
If I'd switch to rootless docker, I'd just need to set the right user mapping in my global rc, right?
From a quick glance, yes. -e LOCAL_USER=root -e LOCAL_UID=0 -e LOCAL_GID=0
should do it with the new entrypoint.
In GitLab by @tobiasleibner on Oct 12, 2020, 07:47
Created by: ftalbrecht
As indicated in #87 I would like to support rootless docker and will sue it from now on personally. (works great and as expected). I would like to update the
docker_run.sh
script accordingly and support both rootless and traditional docker. I am just unsure how:two scripts
detect if root less works, use this as default, fall back to traditional else
Two scripts is probably way easier (also to understand), but would induce some code duplication...
Opinions, @renefritze @tobiasleibner? Is any one of you using the
docker_run.sh
scripts?