Es el runtime de contenedores de gVisor, desarrollado por Google. Su propósito principal es proporcionar una capa extra de seguridad entre los procesos del contenedor y el kernel del host, implementando un kernel de usuario, en Go, que intercepta las llamadas al sistema antes de que lleguen al kernel real. La diferencia con runc [ver], el runtime estándar, es que runc deja que los procesos del contenedor llamen directamente al kernel del host. runsc interpone un kernel en espacio de usuario que reimplementa las syscalls, reduciendo drásticamente la superficie de ataque.
# runsc install
# systemctl restart docker (reiniciar docker
# docker info | grep -A5 Runtimes
$ docker run --runtime=runsc ubuntu uname -r
$ docker run --runtime=runsc -p 8080:80 nginx
$ docker run --runtime=runsc -it debian bash
$ docker run --runtime=runsc ubuntu cat /proc/version
$ runsc create --bundle /tmp/mi-contenedor mi-contenedor
$ runsc start mi-contenedor
$ runsc state mi-contenedor
$ runsc exec mi-contenedor /bin/bash
$ runsc exec mi-contenedor ps aux
$ runsc exec mi-contenedor ls /etc
$ runsc exec --user 1000 mi-contenedor whoami
$ runsc kill mi-contenedor TERM
$ runsc kill mi-contenedor KILL
$ runsc kill mi-contenedor 9
$ runsc pause mi-contenedor
$ runsc resume mi-contenedor
$ runsc events --interval 5 mi-contenedor
$ runsc events mi-contenedor
$ runsc list
$ runsc checkpoint --image-path /tmp/checkpoint mi-contenedor
$ runsc restore --bundle /tmp/mi-contenedor --image-path /tmp/checkpoint mi-contenedor-restaurado
$ runsc port-forward mi-contenedor 8080:80
$ runsc debug --stacks mi-contenedor
$ runsc usage mi-contenedor
$ runsc help syscalls
$ runsc help platforms
$ runsc metric-server --exporter-prefix=runsc_ --metrics-export-address=:9090
$ runsc export-metrics mi-contenedor
$ runsc --platform=systrap run ...
$ runsc --platform=kvm run ...
$ runsc --debug --debug-log=/tmp/runsc.log run ...
$ runsc --network=none run ...
$ runsc --root=/var/run/runsc list
$ runsc help syscalls
1.-
Generar la especificación OCI base y crea config.json con valores por defecto
$ cd /tmp/mi-contenedor
$ runsc spec