Issue with Docker Compose Port Mapping on Jetson Orin Nano – iptable_raw Module Missing

Hi all,

I’m encountering an issue when trying to run a Docker Compose setup that includes explicit port mappings (e.g., ports: ["3000:3000"]). The container fails to start due to an iptables-related error. Using network_mode: host allows the container to start, but that’s not suitable for my final implementation, as I need proper port mapping to work.

Here’s the error message I receive when attempting to start the container:

[+] Running 0/1
 ⠋ Container vision-dep  Starting                                                                                                                                                              1.0s 
Error response from daemon: failed to set up container networking: driver failed programming external connectivity on endpoint vision-dep (361fad43c5e31408d21d82193082d126d9a595d836797ae2a8db79668b308290): Unable to enable DIRECT ACCESS FILTERING - DROP rule:  (iptables failed: iptables --wait -t raw -A PREROUTING -p tcp -d 172.23.0.2 --dport 3000 ! -i br-ead736bf9537 -j DROP: iptables v1.8.7 (legacy): can't initialize iptables table raw': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
 (exit status 3))

To troubleshoot, I tried manually loading the iptable_raw kernel module:

$ sudo modprobe iptable_raw
modprobe: FATAL: Module iptable_raw not found in directory /lib/modules/5.15.148-tegra

This suggests that the iptable_raw module is missing from the kernel build.

System Information:

  • OS: Ubuntu 22.04.5 LTS (Jammy Jellyfish)
  • JetPack Version: 6.2
  • Kernel Version: 5.15.148-tegra
  • Device: Jetson Orin Nano Developer Kit
  • L4T Version: 36.4.3
$ uname -a
Linux ubuntu 5.15.148-tegra #1 SMP PREEMPT Tue Jan 7 17:14:38 PST 2025 aarch64 aarch64 aarch64 GNU/Linux

Question:
What would be the proper way to enable or install iptable_raw on this system so that Docker port mappings work correctly? Is there a recommended approach for Jetson devices running this kernel, or do I need to rebuild the kernel with specific modules enabled?

Any help or guidance would be greatly appreciated!

1 Like

Hi,

This is a known issue.
You can build a custom kernel with the CONFIG_IP_NF_RAW=m configuration.
Or please downgrade docker to v27.5.1 to avoid this issue.

For more details, please check the below topic:

Thanks.

1 Like

Thanks for the information. Could you share documentation or links to resources that explain how to build custom kernels manually? I’m looking for step-by-step guides or official documentation for this process.

Hi,

You can find an example in the below comment:

Thanks.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.