I’m looking to add sctp support to a docker container.
After hours of trying/RTFMing, and after installing the macOS kernel module for sctp, I finally understood that Docker for Mac runs over an HyperKit VM using the Alpine Linux distrib, and any Darwin based kernel module will be useless for me…
Someone gave me this command to access the Alpine HyperKit VM :
docker run --rm -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
is that correct ?
uname -r inside this alpine VM give me
4.9.13-moby, and according to kernel.org the sctp module should be available but
modprobe sctp in the alpine VM does not seems to be very successfull :
~ # modprobe sctp modprobe: module sctp not found in modules.dep
I installed all the user-land sctp packages (lksctp-tools, lksctp-tools-dev) but that won’t help me to got the kernel module for sctp (just a look on the /proc/net/protocols file can confirm me that sctp is not handled by kernel).
There is not really a lot of documentation about the Hyperkit VM used in docker for Mac, and even less about adding a kernel module into it, and I’m quite new with this docker for mac implementation, so I don’t really know how it works deeply.
So my problem is : I would like to add a kernel module to this Alpine VM, and more specifically the sctp module, how can I do that ? Do I need to recompile the kernel in this VM to add new modules ? Do you have any complete documentation on that particular subject (docker 4 mac / how all of this is handled concerning the kernel and its modules…) ?