-
Notifications
You must be signed in to change notification settings - Fork 80
added mongo 8.2.3 build #259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
vTusharr
wants to merge
2
commits into
unikraft:main
Choose a base branch
from
vTusharr:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| /Makefile.uk | ||
| /.unikraft/ | ||
| /.config* |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| /Makefile.uk | ||
| /.unikraft/ | ||
| /.config* | ||
| /build.* |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| FROM mongo:8.2.3 as build | ||
|
|
||
| RUN apt-get update && apt-get install -y binutils && \ | ||
| strip --strip-all /usr/bin/mongod && \ | ||
| mkdir /home/tmp | ||
|
|
||
| FROM alpine:3 AS sys | ||
|
|
||
| RUN set -xe; \ | ||
| mkdir -p /target/etc; \ | ||
| mkdir -p /blank; \ | ||
| apk --no-cache add \ | ||
| ca-certificates \ | ||
| tzdata \ | ||
| ; \ | ||
| update-ca-certificates; \ | ||
| ln -sf ../usr/share/zoneinfo/Etc/UTC /target/etc/localtime; \ | ||
| echo "Etc/UTC" > /target/etc/timezone; \ | ||
| # Create fake /sys/devices/system/cpu for tcmalloc | ||
| mkdir -p /target/sys/devices/system/cpu/cpu0/cache/index3; \ | ||
| mkdir -p /target/sys/devices/system/cpu/cpu0/topology; \ | ||
| mkdir -p /target/sys/devices/system/node/node0; \ | ||
| mkdir -p /target/sys/fs/cgroup; \ | ||
| echo "0" > /target/sys/devices/system/cpu/possible; \ | ||
| echo "0" > /target/sys/devices/system/cpu/online; \ | ||
| echo "0" > /target/sys/devices/system/cpu/present; \ | ||
| echo "0" > /target/sys/devices/system/node/node0/cpulist; \ | ||
| echo "0" > /target/sys/devices/system/cpu/cpu0/cache/index3/shared_cpu_list; \ | ||
| echo "0" > /target/sys/devices/system/cpu/cpu0/topology/core_cpus_list; \ | ||
| echo "0" > /target/sys/devices/system/cpu/cpu0/topology/physical_package_id; \ | ||
| echo "0" > /target/sys/devices/system/cpu/cpu0/topology/core_id; \ | ||
| echo "max" > /target/sys/fs/cgroup/memory.max; \ | ||
| # Create fake /proc files | ||
| mkdir -p /target/proc/sys/crypto; \ | ||
| printf "processor\t: 0\nvendor_id\t: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 158\nmodel name\t: Intel Core\nstepping\t: 10\ncpu MHz\t\t: 2400.000\ncache size\t: 8192 KB\nphysical id\t: 0\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat\nbogomips\t: 4800.00\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 39 bits physical, 48 bits virtual\n\n" > /target/proc/cpuinfo; \ | ||
| echo "0" > /target/proc/sys/crypto/fips_enabled; \ | ||
| echo "1" > /target/proc/stat; \ | ||
| mkdir -p /target/etc/gnutls; \ | ||
| touch /target/etc/gnutls/config; | ||
|
|
||
| FROM scratch | ||
|
|
||
| COPY --from=sys /target/etc /etc | ||
| COPY --from=sys /usr/share/zoneinfo/Etc/UTC /usr/share/zoneinfo/Etc/UTC | ||
| COPY --from=sys /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt | ||
| COPY --from=sys /blank /tmp | ||
| COPY --from=sys /target/sys /sys | ||
| COPY --from=sys /target/proc /proc | ||
|
|
||
| # OpenSSl cfg | ||
| COPY --from=build /usr/lib/ssl/openssl.cnf /usr/lib/ssl/openssl.cnf | ||
|
|
||
| # Binary executable | ||
| COPY --from=build /usr/bin/mongod /usr/bin/mongod | ||
|
|
||
| # System libraries | ||
| COPY --from=build /lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libcurl.so.4 /lib/x86_64-linux-gnu/libcurl.so.4 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libssl.so.3 /lib/x86_64-linux-gnu/libssl.so.3 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libcrypto.so.3 /lib/x86_64-linux-gnu/libcrypto.so.3 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libresolv.so.2 /lib/x86_64-linux-gnu/libresolv.so.2 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libm.so.6 /lib/x86_64-linux-gnu/libm.so.6 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/x86_64-linux-gnu/libgcc_s.so.1 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libnghttp2.so.14 /lib/x86_64-linux-gnu/libnghttp2.so.14 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libidn2.so.0 /lib/x86_64-linux-gnu/libidn2.so.0 | ||
| COPY --from=build /lib/x86_64-linux-gnu/librtmp.so.1 /lib/x86_64-linux-gnu/librtmp.so.1 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libssh.so.4 /lib/x86_64-linux-gnu/libssh.so.4 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libpsl.so.5 /lib/x86_64-linux-gnu/libpsl.so.5 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libldap.so.2 /lib/x86_64-linux-gnu/libldap.so.2 | ||
| COPY --from=build /lib/x86_64-linux-gnu/liblber.so.2 /lib/x86_64-linux-gnu/liblber.so.2 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libzstd.so.1 /lib/x86_64-linux-gnu/libzstd.so.1 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libbrotlidec.so.1 /lib/x86_64-linux-gnu/libbrotlidec.so.1 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libz.so.1 /lib/x86_64-linux-gnu/libz.so.1 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libunistring.so.5 /lib/x86_64-linux-gnu/libunistring.so.5 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libgnutls.so.30 /lib/x86_64-linux-gnu/libgnutls.so.30 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libhogweed.so.6 /lib/x86_64-linux-gnu/libhogweed.so.6 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libnettle.so.8 /lib/x86_64-linux-gnu/libnettle.so.8 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libgmp.so.10 /lib/x86_64-linux-gnu/libgmp.so.10 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libkrb5.so.3 /lib/x86_64-linux-gnu/libkrb5.so.3 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libk5crypto.so.3 /lib/x86_64-linux-gnu/libk5crypto.so.3 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libcom_err.so.2 /lib/x86_64-linux-gnu/libcom_err.so.2 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libkrb5support.so.0 /lib/x86_64-linux-gnu/libkrb5support.so.0 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libsasl2.so.2 /lib/x86_64-linux-gnu/libsasl2.so.2 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libbrotlicommon.so.1 /lib/x86_64-linux-gnu/libbrotlicommon.so.1 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libp11-kit.so.0 /lib/x86_64-linux-gnu/libp11-kit.so.0 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libtasn1.so.6 /lib/x86_64-linux-gnu/libtasn1.so.6 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libkeyutils.so.1 /lib/x86_64-linux-gnu/libkeyutils.so.1 | ||
| COPY --from=build /lib/x86_64-linux-gnu/libffi.so.8 /lib/x86_64-linux-gnu/libffi.so.8 | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Missing some copies here compared to |
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,142 @@ | ||
| spec: v0.6 | ||
|
|
||
| name: mongo | ||
|
|
||
| rootfs: ./Dockerfile | ||
|
|
||
| cmd: ["/usr/bin/mongod", "--bind_ip_all"] | ||
|
|
||
| template: | ||
| source: https://github.com/unikraft/app-elfloader.git | ||
| version: staging | ||
|
|
||
| unikraft: | ||
| source: https://github.com/unikraft/unikraft.git | ||
| version: staging | ||
| kconfig: | ||
| # Configurations options for app-elfloader | ||
| # (they can't be part of the template atm) | ||
| CONFIG_LIBPOSIX_PROCESS_ARCH_PRCTL: 'y' | ||
| CONFIG_APPELFLOADER_BRK: 'y' | ||
| CONFIG_APPELFLOADER_CUSTOMAPPNAME: 'y' | ||
| CONFIG_APPELFLOADER_STACK_NBPAGES: 512 | ||
| CONFIG_APPELFLOADER_VFSEXEC_EXECBIT: 'n' | ||
| CONFIG_APPELFLOADER_VFSEXEC: 'y' | ||
| CONFIG_APPELFLOADER_AUTOGEN_REPLACEEXIST: 'y' | ||
| # Architecture - use generic to avoid AVX requirement at boot | ||
| # The loaded binary (mongod) may still use AVX instructions | ||
| CONFIG_MARCH_X86_64_GENERIC: 'y' | ||
| # Debugging | ||
| CONFIG_LIBUKDEBUG_PRINTK_INFO: 'y' | ||
| CONFIG_LIBUKDEBUG_PRINTK_DEBUG: 'y' | ||
| # Unikraft options | ||
| CONFIG_HAVE_PAGING_DIRECTMAP: 'y' | ||
| CONFIG_HAVE_PAGING: 'y' | ||
| CONFIG_I8042: 'y' | ||
| CONFIG_LIBDEVFS_AUTOMOUNT: 'y' | ||
| CONFIG_LIBDEVFS_DEV_NULL: 'y' | ||
| CONFIG_LIBDEVFS_DEV_STDOUT: 'y' | ||
| CONFIG_LIBDEVFS_DEV_ZERO: 'y' | ||
| CONFIG_LIBDEVFS: 'y' | ||
| CONFIG_LIBPOSIX_ENVIRON_ENVP0: "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" | ||
| CONFIG_LIBPOSIX_ENVIRON_ENVP1: "LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib" | ||
| CONFIG_LIBPOSIX_ENVIRON_ENVP2: "HOME=/" | ||
| CONFIG_LIBPOSIX_ENVIRON_ENVP3: "TCMALLOC_OVERRIDE_NPROCS=1" | ||
| CONFIG_LIBPOSIX_ENVIRON_ENVP4: "PERCPU_ARENA=phycpu" | ||
| CONFIG_LIBPOSIX_ENVIRON: 'y' | ||
| CONFIG_LIBPOSIX_ENVIRON_LIBPARAM: 'y' | ||
| CONFIG_LIBPOSIX_ENVIRON_LIBPARAM_MAXCOUNT: '64' | ||
| CONFIG_LIBPOSIX_EVENTFD: 'y' | ||
| CONFIG_LIBPOSIX_FDIO: 'y' | ||
| CONFIG_LIBPOSIX_FDTAB: 'y' | ||
| CONFIG_LIBPOSIX_FUTEX: 'y' | ||
| CONFIG_LIBPOSIX_MMAP: 'y' | ||
| CONFIG_LIBPOSIX_PIPE: 'y' | ||
| CONFIG_LIBPOSIX_POLL: 'y' | ||
| CONFIG_LIBPOSIX_PROCESS: 'y' | ||
| CONFIG_LIBPOSIX_PROCESS_MULTITHREADING: 'y' | ||
| CONFIG_LIBPOSIX_SOCKET: 'y' | ||
| CONFIG_LIBPOSIX_SYSINFO: 'y' | ||
| CONFIG_LIBPOSIX_TIME: 'y' | ||
| CONFIG_LIBPOSIX_TIMERFD: 'y' | ||
| CONFIG_LIBPOSIX_UNIXSOCKET: 'y' | ||
| CONFIG_LIBPOSIX_USER_GID: 0 | ||
| CONFIG_LIBPOSIX_USER_GROUPNAME: "root" | ||
| CONFIG_LIBPOSIX_USER_UID: 0 | ||
| CONFIG_LIBPOSIX_USER_USERNAME: "root" | ||
| CONFIG_LIBPOSIX_USER: 'y' | ||
| CONFIG_LIBRAMFS: 'y' | ||
| CONFIG_LIBSYSCALL_SHIM_HANDLER_ULTLS: 'y' | ||
| CONFIG_LIBSYSCALL_SHIM_HANDLER: 'y' | ||
| CONFIG_LIBSYSCALL_SHIM_LEGACY_VERBOSE: 'n' | ||
| CONFIG_LIBSYSCALL_SHIM: 'y' | ||
| CONFIG_LIBUKALLOCPOOL: 'y' | ||
| CONFIG_LIBUKBLKDEV_MAXNBQUEUES: '1' | ||
| CONFIG_LIBUKBLKDEV_DISPATCHERTHREADS: 'y' | ||
| CONFIG_LIBUKBLKDEV_SYNC_IO_BLOCKED_WAITING: 'y' | ||
| CONFIG_LIBUKBLKDEV: 'y' | ||
| CONFIG_LIBUKBOOT_BANNER_MINIMAL: 'y' | ||
| CONFIG_LIBUKBOOT_HEAP_BASE: '0x400000000' | ||
| CONFIG_LIBUKBOOT_MAINTHREAD: 'y' | ||
| CONFIG_LIBUKBOOT_SHUTDOWNREQ_HANDLER: 'y' | ||
| CONFIG_LIBUKCPIO: 'y' | ||
| CONFIG_LIBUKDEBUG_CRASH_SCREEN: 'y' | ||
| CONFIG_LIBUKDEBUG_ENABLE_ASSERT: 'y' | ||
| CONFIG_LIBUKDEBUG_PRINT_SRCNAME: 'n' | ||
| CONFIG_LIBUKDEBUG_PRINT_TIME: 'y' | ||
| CONFIG_LIBUKDEBUG_PRINTK_ERR: 'y' | ||
| CONFIG_LIBUKDEBUG_PRINTK: 'y' | ||
| CONFIG_LIBUKDEBUG: 'y' | ||
| CONFIG_LIBUKFALLOC: 'y' | ||
| CONFIG_LIBUKMPI: 'n' | ||
| CONFIG_LIBUKSIGNAL: 'y' | ||
| CONFIG_LIBUKRANDOM_DEVFS: 'y' | ||
| CONFIG_LIBUKRANDOM: 'y' | ||
| CONFIG_LIBUKRANDOM_GETRANDOM: 'y' | ||
| CONFIG_LIBUKVMEM_DEFAULT_BASE: '0x0000001000000000' | ||
| CONFIG_LIBUKVMEM_DEMAND_PAGE_IN_SIZE: 12 | ||
| CONFIG_LIBUKVMEM_PAGEFAULT_HANDLER_PRIO: 4 | ||
| CONFIG_LIBUKVMEM: 'y' | ||
| CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' | ||
| CONFIG_LIBVFSCORE_AUTOMOUNT_CI_EINITRD: 'y' | ||
| CONFIG_LIBVFSCORE_NONLARGEFILE: 'y' | ||
| CONFIG_LIBVFSCORE: 'y' | ||
| CONFIG_OPTIMIZE_DEADELIM: 'y' | ||
| CONFIG_OPTIMIZE_LTO: 'y' | ||
| CONFIG_PAGING: 'y' | ||
| CONFIG_STACK_SIZE_PAGE_ORDER: 4 # 128 * 4K = 512K | ||
| CONFIG_UKPLAT_MEMREGION_MAX_COUNT: 64 | ||
| CONFIG_LIBUKNETDEV_EINFO_LIBPARAM: 'y' | ||
|
|
||
| # Debug options | ||
| # CONFIG_LIBUKDEBUG_PRINTD: 'y' | ||
| CONFIG_LIBUKDEBUG_PRINTK_INFO: 'y' | ||
| CONFIG_LIBSYSCALL_SHIM_STRACE: 'n' | ||
| # CONFIG_LIBSYSCALL_SHIM_DEBUG: 'y' | ||
|
|
||
| libraries: | ||
| lwip: | ||
| source: https://github.com/unikraft/lib-lwip.git | ||
| version: staging | ||
| kconfig: | ||
| CONFIG_LWIP_TCP: 'y' | ||
| CONFIG_LWIP_UDP: 'y' | ||
| CONFIG_LWIP_RAW: 'y' | ||
| CONFIG_LWIP_WND_SCALE: 'y' | ||
| CONFIG_LWIP_TCP_KEEPALIVE: 'y' | ||
| CONFIG_LWIP_THREADS: 'y' | ||
| CONFIG_LWIP_HEAP: 'y' | ||
| CONFIG_LWIP_SOCKET: 'y' | ||
| CONFIG_LWIP_AUTOIFACE: 'y' | ||
| CONFIG_LWIP_NUM_TCPCON: 64 | ||
| CONFIG_LWIP_NUM_TCPLISTENERS: 64 | ||
| CONFIG_LWIP_ICMP: 'y' | ||
| CONFIG_LWIP_DHCP: 'y' | ||
| CONFIG_LWIP_DNS: 'n' | ||
| libelf: | ||
| source: https://github.com/unikraft/lib-libelf.git | ||
| version: staging | ||
|
|
||
| targets: | ||
| - fc/x86_64 | ||
| - qemu/x86_64 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| # MongoDB | ||
|
|
||
| This directory contains the [MongoDB](https://www.mongodb.com/) runtime on Unikraft, in binary compatibility mode. | ||
| It starts a MongoDB server instance on Unikraft. | ||
|
|
||
| ## Run and Use | ||
|
|
||
| Use `kraft` to run the image and start a Unikraft instance: | ||
|
|
||
| ```bash | ||
| kraft run --rm -M 1024M -p 27017:27017 --plat qemu --arch x86_64 unikraft.org/mongo:8.2 | ||
| ``` | ||
|
|
||
| If the `--plat` argument is left out, it defaults to `qemu`. | ||
| If the `--arch` argument is left out, it defaults to your system's CPU architecture. | ||
|
|
||
| Once executed, it will open port `27017` and wait for connections. | ||
| To test it, use the [`mongo` shell](https://www.mongodb.com/docs/v4.4/mongo/): | ||
|
|
||
| ```bash | ||
| mongo | ||
| ``` | ||
|
|
||
| ## Inspect and Close | ||
|
|
||
| To list information about the Unikraft instance, use: | ||
|
|
||
| ```bash | ||
| kraft ps -a | ||
| ``` | ||
|
|
||
| ```text | ||
| NAME KERNEL ARGS CREATED STATUS MEM PORTS PLAT | ||
| pedantic_snowflake project://mongo:qemu/x86_64 /usr/bin/mongod --bind_ip_all 6 seconds ago running 976M 0.0.0.0:27017->27017/tcp qemu/x86_64 | ||
| ``` | ||
|
|
||
| The instance name is `pedantic_snowflake`. | ||
| To close the Unikraft instance, close the `kraft` process (e.g., via `Ctrl+c`) or run: | ||
|
|
||
| ```bash | ||
| kraft rm pedantic_snowflake | ||
| ``` | ||
|
|
||
| ## Build and Run Locally | ||
|
|
||
| The commands so far used the pre-built MongoDB image available in the Unikraft registry. | ||
|
|
||
| In order to to build a local MongoDB image, clone this repository and `cd` into this directory. | ||
| Then use `kraft` to build an image locally: | ||
|
|
||
| ```bash | ||
| kraft build --no-cache --no-update --plat qemu --arch x86_64 | ||
| ``` | ||
|
|
||
| Similar to the `kraft run` command, if the `--plat` argument is left out, it defaults to `qemu`. | ||
| If the `--arch` argument is left out, it defaults to your system's CPU architecture. | ||
|
|
||
| In order to run the locally built image, use `.` (_dot_, the current directory) as the final argument to the `kraft run` command: | ||
|
|
||
| ```bash | ||
| kraft run --rm -M 1024M -p 27017:27017 --plat qemu --arch x86_64 . | ||
| ``` | ||
|
|
||
| Same as above, it will open port `27017` and wait for connections. | ||
|
|
||
| ## `kraft` and `sudo` | ||
|
|
||
| Mixing invocations of `kraft` and `sudo` can lead to unexpected behavior. | ||
| Read more about how to start `kraft` without `sudo` at [https://unikraft.org/sudoless](https://unikraft.org/sudoless). | ||
|
|
||
| ## Learn More | ||
|
|
||
| - [How to run unikernels locally](https://unikraft.org/docs/cli/running) | ||
| - [How to build `Dockerfile` root filesystems with BuildKit](https://unikraft.org/guides/building-dockerfile-images-with-buildkit) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why this?
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mongo using tcmalloc (https://www.mongodb.com/docs/manual/administration/tcmalloc-performance/)
so i did this to give cpu info for debugging