Regler for compose-filen

Hva en docker-compose.yml ikke kan bruke på Jambotron: privilegert modus, vertens navnerom, stier utenfor prosjektet og mer.

Alle prosjekter kjører på en delt server, derfor er noen Docker-funksjoner blokkert. Utrullingen stopper med en liste over brudd hvis compose-filen bruker:

  • i tjenester: privileged, cap_add, devices, device_cgroup_rules, gpus, security_opt, sysctls, runtime, cgroup_parent, volumes_from, external_links, oom_kill_disable, provider, use_api_socket, GPU-reservasjoner (deploy.resources.reservations.devices), privilegerte post_start / pre_stop-hooks;
  • vertens navnerom: network_mode, pid, ipc, uts, userns_mode, cgroup satt til host eller container:…;
  • stier utenfor prosjektet: bind mounts, env_file, build.context, build.dockerfile, filer for secrets / configs — alt må ligge i prosjektmappen (altså ingen /var/run/docker.sock, ingen ../);
  • i build: privileged, entitlements, ssh, secrets, network: host; eksterne byggekontekster (URL, git@…);
  • volumer: bare driveren local, uten driver_opts, ingen external volumer;
  • nettverk: bare driveren bridge, uten driver_opts, ingen external nettverk; ingen external secrets eller configs.

Navngitte volumer og images fra Docker Hub eller andre registre fungerer som vanlig.