- Added udocker compose [--dry] [--build-only]
- now supports .env loading
- I've successfully ran cal.com with some patches
- Explanations in calcom_tutorial.md
- Added inspect -c
- Added udocker compose [--force-recreate]
- experimental for now, only supports simple files
- udocker run / compose by udocker_wrapper.sh
- Termux install/uninstall script
- multi-stage Dockerfile for udocker build
- Added udocker build
- specifically for openclaw/Dockerfile
- 這個
udocker是基於 udocker 1.3.17 的原始碼重寫的JavaScript版本,只有簡單實做。 - 此專案的程式碼 大部分由 GPT Codex 產生。
- udocker_wrapper.sh lib/: build.mjs compose.mjs 主要是我寫的
- .
以下指令均以專案根目錄執行:
bun udocker.js pull ubuntu:latest
bun udocker.js pull --pull=always ubuntu:latest
bun udocker.js pull --pull=never ubuntu:latest
bun udocker.js pull --quiet ubuntu:latest
bun udocker.js create --name=myubuntu ubuntu:latest
bun udocker.js import rootfs.tar myimage:latest
bun udocker.js export -o rootfs.tar <container-id|name>
bun udocker.js save -o image.tar myimage:latest
bun udocker.js load -i image.tar
bun udocker.js inspect [-c|-p] myimage:latest
bun udocker.js verify myimage:latest
bun udocker.js manifest inspect myimage:latest
bun udocker.js ps
bun udocker.js rm <container-id|name> [name2] [name3]
bun udocker.js rmi <repo/image:tag>
bun udocker.js rename <old-name> <new-name>
bun udocker.js images
bun udocker.js help
bun udocker.js build -t <container_name> [-y | -i] [-f file] [--build-arg KEY=VAL] .
sh udocker_wrapper.sh run [-p port:port] [-v volume] [-w workdir] [--rm] [--name=<name>] [--entrypoint=<file>] [--isolated] <container/image name>
sh udocker_wrapper.sh compose [-f compose_file] [-y | -i]
sh udocker_wrapper.sh search <keyword>
sh udocker_wrapper.sh dir <shell_cmd>pull [--pull=missing|always|never] [--platform=os/arch[/variant]] [--registry=URL] [--index=URL] [-q|--quiet] <repo/image:tag>:下載 image layers 與 metadataimport <tar> <repo/image:tag>:匯入 tar(docker export)為 imageimport - <repo/image:tag>:從 stdin 匯入 tar(docker export)export -o <tar> <container>:匯出 container 檔案樹到檔案export - <container>:匯出 container 檔案樹到 stdoutload -i <exported-image>:載入 docker save 檔案load:從 stdin 載入 docker save 檔案save -o <imagefile> <repo/image:tag>:輸出 docker save 檔案inspect [-p] <repo/image:tag|container>:顯示 metadata 或 container ROOT 路徑inspect -c <repo/image:tag|container>:顯示 metadata 的config部分verify <repo/image:tag>:驗證 imagemanifest inspect <repo/image:tag>:顯示 manifestcreate [--name=NAME] <repo/image:tag>:由 image 建立 containerbuild -t <name> [-y | -i] <context>:從Dockerfile建立單層容器,-y是同意建立容器的所有過程,-i會每次詢問(預設值)compose [-f 檔名] [-y | -i]:一次建立許多容器並且跑起來,-y是同意建立容器的所有過程,-i會每次詢問(預設值)ps:列出 containerrm <container-id|name>:刪除 containerrmi <repo/image:tag>:刪除 imagerename <old-name> <new-name>:變更 container 名稱
- This
udockeris a JavaScript rewrite of the original udocker 1.3.17 (based on its code) with only simple implementations - Almost all the code in this project is generated by GPT Codex .
- udocker_wrapper.sh lib/: build.mjs compose.mjs is mainly written by me
- .
Run the following from the project root:
bun udocker.js pull ubuntu:latest
bun udocker.js pull --pull=always ubuntu:latest
bun udocker.js pull --pull=never ubuntu:latest
bun udocker.js pull --quiet ubuntu:latest
bun udocker.js create --name=myubuntu ubuntu:latest
bun udocker.js import rootfs.tar myimage:latest
bun udocker.js export -o rootfs.tar <container-id|name>
bun udocker.js save -o image.tar myimage:latest
bun udocker.js load -i image.tar
bun udocker.js inspect [-c|-p] myimage:latest
bun udocker.js verify myimage:latest
bun udocker.js manifest inspect myimage:latest
bun udocker.js ps
bun udocker.js rm <container-id|name> [name2] [name3]
bun udocker.js rmi <repo/image:tag>
bun udocker.js rename <old-name> <new-name>
bun udocker.js images
bun udocker.js help
bun udocker.js build -t <container_name> [-y | -i] [-f file] [--build-arg KEY=VAL] .
sh udocker_wrapper.sh run [-p port:port] [-v volume] [-w workdir] [--rm] [--name=<name>] [--entrypoint=<file>] [--isolated] <container/image name>
sh udocker_wrapper.sh compose [-f compose_file] [-y | -i]
sh udocker_wrapper.sh search <keyword>
sh udocker_wrapper.sh dir <shell_cmd>pull [--pull=missing|always|never] [--platform=os/arch[/variant]] [--registry=URL] [--index=URL] [-q|--quiet] <repo/image:tag>: download image layers and metadataimport <tar> <repo/image:tag>: import tar (docker export) to imageimport - <repo/image:tag>: import tar from stdin (docker export)export -o <tar> <container>: export container directory tree to fileexport - <container>: export container directory tree to stdoutload -i <exported-image>: load image from file (docker save)load: load image from stdin (docker save)save -o <imagefile> <repo/image:tag>: save image with layers to fileinspect [-p] <repo/image:tag|container>: print metadata or container ROOT pathinspect [-c] <repo/image:tag|container>: print metadata's config partverify <repo/image:tag>: verify imagemanifest inspect <repo/image:tag>: print manifest metadatacreate [--name=NAME] <repo/image:tag>: create a container from an imagebuild -t <name> [-y | -i] <context>: create single-layered container from Dockerfile, -y will agree with all the building process while -i prompts every time interactively(default)compose [-f file] [-y | -i]: Create several containers at a time and run them, -y will agree with all the building process while -i prompts every time interactively(default)ps: list containersrm <container-id|name>: delete a containerrmi <repo/image:tag>: delete an imagerename <old-name> <new-name>: rename a container alias