gvisor.dev/gvisor@v0.0.0-20240520182842-f9d4d51c7e0f/g3doc/user_guide/compatibility.md (about) 1 # Applications 2 3 [TOC] 4 5 gVisor implements a large portion of the Linux surface and while we strive to 6 make it broadly compatible, there are (and always will be) unimplemented 7 features and bugs. The only real way to know if it will work is to try. If you 8 find a container that doesn’t work and there is no known issue, please 9 [file a bug][bug] indicating the full command you used to run the image. You can 10 view open issues related to compatibility [here][issues]. 11 12 If you're able to provide the [debug logs](../debugging/), the problem likely to 13 be fixed much faster. 14 15 ## What works? 16 17 The following applications/images have been tested: 18 19 * elasticsearch 20 * golang 21 * httpd 22 * java8 23 * jenkins 24 * mariadb 25 * memcached 26 * mongo 27 * mysql 28 * nginx 29 * node 30 * php 31 * postgres 32 * prometheus 33 * python 34 * redis 35 * registry 36 * rust 37 * tomcat 38 * wordpress 39 40 ## Utilities 41 42 Most common utilities work. Note that: 43 44 * Some tools, such as `tcpdump` and old versions of `ping`, require explicitly 45 enabling raw sockets via the unsafe `--net-raw` runsc flag. 46 * In case of tcpdump the following invocations will work 47 * tcpdump -i any 48 * tcpdump -i \<device-name\> -p (-p disables promiscuous mode) 49 * Different Docker images can behave differently. For example, Alpine Linux 50 and Ubuntu have different `ip` binaries. 51 52 Specific tools include: 53 54 <!-- mdformat off(don't wrap the table) --> 55 56 | Tool | Status | 57 | :--------: | :-----------------------------------------: | 58 | apt-get | Working. | 59 | bundle | Working. | 60 | cat | Working. | 61 | curl | Working. | 62 | dd | Working. | 63 | df | Working. | 64 | dig | Working. | 65 | drill | Working. | 66 | env | Working. | 67 | find | Working. | 68 | gcore | Working. | 69 | gdb | Working. | 70 | gosu | Working. | 71 | grep | Working. | 72 | ifconfig | Works partially, like ip. Full support [in progress](https://gvisor.dev/issue/578). | 73 | ip | Some subcommands work (e.g. addr, route). Full support [in progress](https://gvisor.dev/issue/578). | 74 | less | Working. | 75 | ls | Working. | 76 | lsof | Working. | 77 | mount | Works in readonly mode. gVisor doesn't currently support creating new mounts at runtime. | 78 | nc | Working. | 79 | nmap | Not working. | 80 | netstat | [In progress](https://gvisor.dev/issue/2112). | 81 | nslookup | Working. | 82 | ping | Working. | 83 | ps | Working. | 84 | route | Working. | 85 | ss | [In progress](https://gvisor.dev/issue/2114). | 86 | sshd | Partially working. Job control [in progress](https://gvisor.dev/issue/154). | 87 | strace | Working. | 88 | tar | Working. | 89 | tcpdump | Working [only with libpcap versions < 1.10](https://github.com/google/gvisor/issues/6699), [Promiscuous mode in progress](https://gvisor.dev/issue/3333). | 90 | top | Working. | 91 | uptime | Working. | 92 | vim | Working. | 93 | wget | Working. | 94 95 <!-- mdformat on --> 96 97 [bug]: https://github.com/google/gvisor/issues/new?title=Compatibility%20Issue: 98 [issues]: https://github.com/google/gvisor/issues?q=is%3Aissue+is%3Aopen+label%3A%22area%3A+compatibility%22