{"id":25929646,"url":"https://github.com/anugrahsinghal/docker-on-jvm","last_synced_at":"2026-05-02T10:38:39.104Z","repository":{"id":198746804,"uuid":"701456488","full_name":"anugrahsinghal/docker-on-jvm","owner":"anugrahsinghal","description":"A docker client that interacts with the docker registry, pulls and extracts the layers of the image and is able to run commands on that image. Uses the JNA (Java Native API) to issue unix specific commands.","archived":false,"fork":false,"pushed_at":"2023-10-06T17:21:54.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-21T02:08:12.793Z","etag":null,"topics":["codecrafters","docker","java","jna"],"latest_commit_sha":null,"homepage":"https://app.codecrafters.io/courses/docker","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anugrahsinghal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-06T17:10:44.000Z","updated_at":"2023-10-08T15:11:04.000Z","dependencies_parsed_at":"2023-10-11T20:12:50.168Z","dependency_job_id":null,"html_url":"https://github.com/anugrahsinghal/docker-on-jvm","commit_stats":null,"previous_names":["anugrahsinghal/docker-on-jvm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anugrahsinghal%2Fdocker-on-jvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anugrahsinghal%2Fdocker-on-jvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anugrahsinghal%2Fdocker-on-jvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anugrahsinghal%2Fdocker-on-jvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anugrahsinghal","download_url":"https://codeload.github.com/anugrahsinghal/docker-on-jvm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241746795,"owners_count":20013165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codecrafters","docker","java","jna"],"created_at":"2025-03-03T22:15:13.053Z","updated_at":"2026-05-02T10:38:36.797Z","avatar_url":"https://github.com/anugrahsinghal.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![progress-banner](https://app.codecrafters.io/progress/docker/0beab38c-3abb-4974-a4ca-4c4d9de3784f)](https://app.codecrafters.io/users/anugrahsinghal)\n\nThis is a starting point for Java solutions to the\n[\"Build Your Own Docker\" Challenge](https://codecrafters.io/challenges/docker).\n\nIn this challenge, you'll build a program that can pull an image from\n[Docker Hub](https://hub.docker.com/) and execute commands in it. Along the way,\nwe'll learn about [chroot](https://en.wikipedia.org/wiki/Chroot),\n[kernel namespaces](https://en.wikipedia.org/wiki/Linux_namespaces), the\n[docker registry API](https://docs.docker.com/registry/spec/api/) and much more.\n\n**Note**: If you're viewing this repo on GitHub, head over to\n[codecrafters.io](https://codecrafters.io) to try the challenge.\n\n# How to Run\n\nNote: This section is for stages 2 and beyond.\n\nYou'll use linux-specific syscalls in this challenge. so we'll run your code\n_inside_ a Docker container.\n\nPlease ensure you have [Docker installed](https://docs.docker.com/get-docker/)\nlocally.\n\nNext, add a [shell alias](https://shapeshed.com/unix-alias/):\n\n```sh\nalias mydocker='docker build -t mydocker . \u0026\u0026 docker run --cap-add=\"SYS_ADMIN\" mydocker'\n```\n\n(The `--cap-add=\"SYS_ADMIN\"` flag is required to create\n[PID Namespaces](https://man7.org/linux/man-pages/man7/pid_namespaces.7.html))\n\nYou can now execute your program like this:\n\n```sh\nmydocker run ubuntu:latest echo hey\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanugrahsinghal%2Fdocker-on-jvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanugrahsinghal%2Fdocker-on-jvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanugrahsinghal%2Fdocker-on-jvm/lists"}