mirror of
https://github.com/criyle/go-judge.git
synced 2025-09-26 22:39:12 +08:00
133 lines
3.0 KiB
YAML
133 lines
3.0 KiB
YAML
mount:
|
|
# Basic binaries and libraries
|
|
- type: bind
|
|
source: /bin
|
|
target: /bin
|
|
readonly: true
|
|
- type: bind
|
|
source: /lib
|
|
target: /lib
|
|
readonly: true
|
|
- type: bind
|
|
source: /lib64
|
|
target: /lib64
|
|
readonly: true
|
|
- type: bind
|
|
source: /usr
|
|
target: /usr
|
|
readonly: true
|
|
- type: bind
|
|
source: /etc/ld.so.cache
|
|
target: /etc/ld.so.cache
|
|
readonly: true
|
|
# Some compiler have multiple versions
|
|
- type: bind
|
|
source: /etc/alternatives
|
|
target: /etc/alternatives
|
|
readonly: true
|
|
# fpc wants /etc/fpc.cfg
|
|
- type: bind
|
|
source: /etc/fpc.cfg
|
|
target: /etc/fpc.cfg
|
|
readonly: true
|
|
# mono wants /etc/mono
|
|
- type: bind
|
|
source: /etc/mono
|
|
target: /etc/mono
|
|
readonly: true
|
|
# ghc wants /var/lib/ghc
|
|
- type: bind
|
|
source: /var/lib/ghc
|
|
target: /var/lib/ghc
|
|
readonly: true
|
|
# go wants /dev/null
|
|
- type: bind
|
|
source: /dev/null
|
|
target: /dev/null
|
|
# java 17 wants /etc/java-17-openjdk
|
|
- type: bind
|
|
source: /etc/java-17-openjdk
|
|
target: /etc/java-17-openjdk
|
|
readonly: true
|
|
# node wants /dev/urandom
|
|
- type: bind
|
|
source: /dev/urandom
|
|
target: /dev/urandom
|
|
# additional devices
|
|
- type: bind
|
|
source: /dev/random
|
|
target: /dev/random
|
|
- type: bind
|
|
source: /dev/zero
|
|
target: /dev/zero
|
|
- type: bind
|
|
source: /dev/full
|
|
target: /dev/full
|
|
# work dir
|
|
- type: tmpfs
|
|
target: /w
|
|
data: size=128m,nr_inodes=4k
|
|
# tmp dir
|
|
- type: tmpfs
|
|
target: /tmp
|
|
data: size=128m,nr_inodes=4k
|
|
# MPI wants shm
|
|
# - type: tmpfs
|
|
# target: /dev/shm
|
|
# data: size=64m,nr_inodes=4k
|
|
# (optional) bind a /etc/passwd to show customized user name
|
|
- type: bind
|
|
source: containerPasswd.txt
|
|
target: /etc/passwd
|
|
# (optional) bind a /.env to load default environment variable for the container
|
|
- type: bind
|
|
source: dotenv
|
|
target: /.env
|
|
#readonly: true
|
|
# MPI wants /sys, readonly may not work for /sys
|
|
# - type: bind
|
|
# source: /sys
|
|
# target: /sys
|
|
# # readonly: true
|
|
# java & ghc wants /proc/self/exe
|
|
proc: true
|
|
# procrw enables read-write permission on /proc for special usage like CUDA
|
|
#procrw: true
|
|
# create /dev standard io
|
|
symLink:
|
|
- linkPath: /dev/fd
|
|
target: /proc/self/fd
|
|
- linkPath: /dev/stdin
|
|
target: /proc/self/fd/0
|
|
- linkPath: /dev/stdout
|
|
target: /proc/self/fd/1
|
|
- linkPath: /dev/stderr
|
|
target: /proc/self/fd/2
|
|
# mask mounted paths with empty / null mount
|
|
maskPath:
|
|
- /sys/firmware
|
|
- /sys/devices/virtual/powercap
|
|
- /proc/acpi
|
|
- /proc/asound
|
|
- /proc/kcore
|
|
- /proc/keys
|
|
- /proc/latency_stats
|
|
- /proc/timer_list
|
|
- /proc/timer_stats
|
|
- /proc/sched_debug
|
|
- /proc/scsi
|
|
- /usr/lib/wsl/drivers
|
|
- /usr/lib/wsl/lib
|
|
# container work directory
|
|
workDir: /w
|
|
# container host name
|
|
hostName: go-judge
|
|
# container domain name
|
|
domainName: go-judge
|
|
# container user uid
|
|
uid: 1536
|
|
# container user gid
|
|
gid: 1536
|
|
# init cmd does additional setups
|
|
# MPI want network
|
|
#initCmd: ip link set dev lo up |