Mount devices automatically in sample scripts

This commit is contained in:
Héctor Molinero Fernández
2021-05-09 16:07:41 +02:00
parent d6e530a9b0
commit 17f254e75c
3 changed files with 15 additions and 3 deletions

View File

@@ -48,7 +48,7 @@ encounter any problem related to this you may use the `--shm-size` option.
* `UNPRIVILEGED_USER_PASSWORD`: unprivileged user password (`password` by default).
* `UNPRIVILEGED_USER_GROUPS`: comma-separated list of additional GIDs for the unprivileged user (none by default).
* `UNPRIVILEGED_USER_SHELL`: unprivileged user shell (`/bin/bash` by default).
* `ENABLE_XDUMMY`: enable an X dummy server (`false` by default and requires the `--privileged` option).
* `ENABLE_XDUMMY`: enable an X dummy server (`false` by default).
## License

View File

@@ -31,17 +31,22 @@ if containerExists "${CONTAINER_NAME:?}"; then
"${DOCKER:?}" rm "${CONTAINER_NAME:?}" >/dev/null
fi
CONTAINER_DEVICES=$(find /dev/ -mindepth 1 -maxdepth 1 \
'(' -name 'tty*' -or -name 'dri' -or -name 'vga_arbiter' -or -name 'nvidia*' ')' \
-exec printf -- '--device %s:%s\n' '{}' '{}' ';' \
)
printf -- '%s\n' "Creating \"${CONTAINER_NAME:?}\" container..."
# shellcheck disable=SC2086
"${DOCKER:?}" run \
--name "${CONTAINER_NAME:?}" \
--hostname "${CONTAINER_NAME:?}" \
--detach \
--privileged \
--shm-size 2g \
--publish 3322:3322/tcp \
--publish 3389:3389/tcp \
--env ENABLE_XDUMMY=true \
--device /dev/dri:/dev/dri \
${CONTAINER_DEVICES} \
"${IMAGE_NAME:?}" "$@" >/dev/null
printf -- '%s\n\n' 'Done!'

7
run.sh
View File

@@ -31,7 +31,13 @@ if containerExists "${CONTAINER_NAME:?}"; then
"${DOCKER:?}" rm "${CONTAINER_NAME:?}" >/dev/null
fi
CONTAINER_DEVICES=$(find /dev/ -mindepth 1 -maxdepth 1 \
'(' -name 'dri' -or -name 'vga_arbiter' -or -name 'nvidia*' ')' \
-exec printf -- '--device %s:%s\n' '{}' '{}' ';' \
)
printf -- '%s\n' "Creating \"${CONTAINER_NAME:?}\" container..."
# shellcheck disable=SC2086
"${DOCKER:?}" run \
--name "${CONTAINER_NAME:?}" \
--hostname "${CONTAINER_NAME:?}" \
@@ -40,6 +46,7 @@ printf -- '%s\n' "Creating \"${CONTAINER_NAME:?}\" container..."
--publish 3322:3322/tcp \
--publish 3389:3389/tcp \
--device /dev/dri:/dev/dri \
${CONTAINER_DEVICES} \
"${IMAGE_NAME:?}" "$@" >/dev/null
printf -- '%s\n\n' 'Done!'