barco
用 C 语言从头写一个 Linux 容器。该项目仅依赖底层的 Linux 功能,用 C 语言实现的一个 Linux 容器,可用来了解更多关于 Linux 容器和内核的技术细节。```$ sudo ./bin/barco -u 0 -m / -c /bin/sh -a . [-v]22:08:41 INFO ./src/barco.c:96: initializing socket pair...22:08:41 INFO ./src/barco.c:103: setting socket flags...22:08:41 INFO ./src/barco.c:112: initializing container stack...22:08:41 INFO ./src/barco.c:120: initializing container...22:08:41 INFO ./src/barco.c:131: initializing cgroups...22:08:41 INFO ./src/cgroups.c:73: setting memory.max to 1G...22:08:41 INFO ./src/cgroups.c:73: setting cpu.weight to 256...22:08:41 INFO ./src/cgroups.c:73: setting pids.max to 64...22:08:41 INFO ./src/cgroups.c:73: setting cgroup.procs to 1458...22:08:41 INFO ./src/barco.c:139: configuring user namespace...22:08:41 INFO ./src/barco.c:147: waiting for container to exit...22:08:41 INFO ./src/container.c:43: ### BARCONTAINER STARTING - type 'exit' to quit #### ls bin home lib32 media root sys vmlinuz boot initrd.img lib64 mnt run tmp vmlinuz.old dev initrd.img.old libx32 opt sbin usr etc lib lost+found proc srv var# echo "i am a container"i am a container```






























