Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thinking of using udocker inside my fedora 35 proot-distro on termux #360

Open
Root-voidX opened this issue May 26, 2022 · 0 comments
Open

Comments

@Root-voidX
Copy link

Dear Devs,

This is more of a question regarding use case. I use a centos 7 docker container to run ansys and similar programs on my fedora 35 (x86_64). I use docker and set up to load using this script:

#!/bin/bash

xhost +local:root

docker network ls | grep hostonly > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo Create host-only network for docker
docker network create -d bridge --internal hostonly
fi

#user should be a member of video and render to get full access to gpu

#export XAUTH_PROTO=$(xauth list | grep \hostname -s` | grep :0 |tail -1 |cut -d' ' -f3)`)
#export XAUTH_KEY=$(xauth list | grep \hostname -s` | grep :0 |tail -1 |cut -d' ' -f)5`)
#Do xauth list | grep unix:0

#inside docker shell xauth add :0 MIT-MAGIC... digest..

IMAGE=c7-systemd:latest


GIDS=( $(id -G) ) #All of my groups
unset GIDS[0] #remove primary group
for g in "${GIDS[@]}"
do
G+=" --group-add=$g"
done

#RM=""
RM=" --rm "

#U=""
U=" --user $(id -u):$(id -g) $G"

VOLS=' --volume=/etc/group:/etc/group:ro '
VOLS+='--volume=/etc/passwd:/etc/passwd:ro '
VOLS+='--volume=/etc/shadow:/etc/shadow:ro '
VOLS+='--volume=/etc/sudoers.d:/etc/sudoers.d:ro '
VOLS+='--volume=/tmp/.X11-unix:/tmp/.X11-unix:rw '
VOLS+="--volume=/home/Docker-Home/CentOS-7-x86_64/:/home "
VOLS+='--volume=/opt/Docker-Opt/CentOS-7-x86_64/:/opt '
VOLS+='--volume=/run/media/ai-fe:/mnt '
VOLS+="--device=/dev/dri "
VOLS+="--device=/dev/snd "
VOLS+="--device=/dev/vga_arbiter "

NVS=( $(ls /dev/nvidia* 2>/dev/null) )
for N in "${NVS[@]}"
do
VOLS+="--device=$N "
done

NET='--network=host '

docker run $RM -it --cap-add=SYS_ADMIN -v /sys/fs/cgroup:/sys/fs/cgroup:ro --log-driver none $U --env="DISPLAY" --env="XAUTHORITY=$XAUTHORITY" --env="XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR" $VOLS -w="/home/${USER}" --ipc="host" $NET -w="/home/$USER" --hostname="localhost" --name="CentOS7" ${IMAGE} /bin/bash
# EOF

I want to be able to use this container inside my proot distro for testing purposes. Now my question is how do I translate docker command flags to udocker? Can udocker run x86_64 containers on aarch64? If not can I use box64 translation (idea is to create an arm64 container for centos, build box64 inside container and run my x86_64 program there) ? I tried udocker on my pc and I haven't found away to commit container changes or tell the applications in container to use host xserver to display gui, is that possible?

Thank you!

P.S. can I run udocker through box64 itself to get x86 version of udocker on arm?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant