{"id":13720058,"url":"https://github.com/zephyrproject-rtos/docker-image","last_synced_at":"2026-04-02T14:54:33.275Z","repository":{"id":33900659,"uuid":"156997092","full_name":"zephyrproject-rtos/docker-image","owner":"zephyrproject-rtos","description":"Docker image suitable for Zephyr development and CI","archived":false,"fork":false,"pushed_at":"2026-03-25T01:53:17.000Z","size":127,"stargazers_count":224,"open_issues_count":8,"forks_count":114,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-03-25T22:55:36.140Z","etag":null,"topics":["ci","docker","tools"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zephyrproject-rtos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-11-10T16:04:21.000Z","updated_at":"2026-03-25T01:53:22.000Z","dependencies_parsed_at":"2023-11-21T10:43:26.011Z","dependency_job_id":"14f59030-0193-4b09-955d-3521545a986c","html_url":"https://github.com/zephyrproject-rtos/docker-image","commit_stats":null,"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/zephyrproject-rtos/docker-image","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zephyrproject-rtos%2Fdocker-image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zephyrproject-rtos%2Fdocker-image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zephyrproject-rtos%2Fdocker-image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zephyrproject-rtos%2Fdocker-image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zephyrproject-rtos","download_url":"https://codeload.github.com/zephyrproject-rtos/docker-image/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zephyrproject-rtos%2Fdocker-image/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31308448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ci","docker","tools"],"created_at":"2024-08-03T01:00:59.354Z","updated_at":"2026-04-02T14:54:33.269Z","avatar_url":"https://github.com/zephyrproject-rtos.png","language":"Shell","funding_links":[],"categories":["Official Resources","Development containers"],"sub_categories":["VSCode extensions"],"readme":"# Zephyr Docker Images\n\nThis repository contains the Dockerfiles for the following images:\n\n- **CI Base Image (_ci-base_):** contains all tools required for CI operation, except the Zephyr\n  SDK.\n- **CI Image (_ci_):** contains everything in the `ci-base` image and the Zephyr SDK.\n- **Developer Image (_zephyr-build_):** includes additional tools that can be useful for Zephyr\n  development.\n\n## Developer Docker Image\n\n### Overview\n\nThe Developer docker image includes all tools included in the CI image as well as the additional\ntools that can be useful for Zephyr development, such as the VNC server for testing display sample\napplications.\n\nThe Base docker images should be used to build custom docker images with 3rd party toolchains and tooling.\n\nThese images include the [Zephyr SDK](https://github.com/zephyrproject-rtos/sdk-ng), which supports\nbuilding most Zephyr targets.\n\n### Installation\n\n#### Using Pre-built Developer Docker Image\n\nThe pre-built developer docker image is available on both GitHub Container Registry (`ghcr.io`) and\nDockerHub (`docker.io`).\n\nFor Zephyr 3.7 LTS, use the `v0.26-branch` or the latest `v0.26.x` release Docker image.\n\n##### GitHub Container Registry (`ghcr.io`)\n\n###### Current Zephyr versions\n\n```\ndocker run -ti -v $HOME/Work/zephyrproject:/workdir \\\n           ghcr.io/zephyrproject-rtos/zephyr-build:main\n```\n\n###### Zephyr 3.7 LTS\n\n```\ndocker run -ti -v $HOME/Work/zephyrproject:/workdir \\\n           ghcr.io/zephyrproject-rtos/zephyr-build:v0.26-branch\n```\n\n##### DockerHub (`docker.io`)\n\n###### Current Zephyr versions\n\n```\ndocker run -ti -v $HOME/Work/zephyrproject:/workdir \\\n           docker.io/zephyrprojectrtos/zephyr-build:main\n```\n\n###### Zephyr 3.7 LTS\n\n```\ndocker run -ti -v $HOME/Work/zephyrproject:/workdir \\\n           docker.io/zephyrprojectrtos/zephyr-build:v0.26-branch\n```\n\n#### Building Developer Docker Image\n\nThe developer docker image can be built using the following commands:\n\n```\ndocker build -f Dockerfile.base --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t zephyr-ci-base:v\u003ctag\u003e .\ndocker build -f Dockerfile.ci --build-arg BASE_IMAGE=zephyr-ci-base:v\u003ctag\u003e -t zephyr-ci:v\u003ctag\u003e .\ndocker build -f Dockerfile.devel --build-arg BASE_IMAGE=zephyr-ci:v\u003ctag\u003e -t zephyr-build:v\u003ctag\u003e .\n```\n\nIt can be used for building Zephyr samples and tests by mounting the Zephyr workspace into it:\n\n```\ndocker run -ti -v \u003cpath to zephyr workspace\u003e:/workdir zephyr-build:v\u003ctag\u003e\n```\n\n#### Using SSH Agent with Docker Image\n\nThe docker images can be built to use the SSH agent on the host to provide authorization\nto assets like restricted git repos.  To do this there are a few requirements.  One of which\nis that the user name of the processes inside the docker container must match the real user\nname on the host.  The USERNAME build argument can be passed into the build process to override\nthe default user name.  Note that all three images need to be built locally with this USERNAME\nargument set correctly.\n\n```\ndocker build -f Dockerfile.base \\\n   --build-arg UID=$(id -u) \\\n   --build-arg GID=$(id -g) \\\n   --build-arg USERNAME=$(id -u -n) \\\n    -t ci-base:\u003ctag\u003e .\n```\n```\ndocker build -f Dockerfile.ci \\\n    --build-arg UID=$(id -u) \\\n    --build-arg GID=$(id -g) \\\n    --build-arg USERNAME=$(id -u -n) \\\n    --build-arg BASE_IMAGE=ci-base:v4.0-branch \\\n    -t ci:\u003ctag\u003e .\n```\n```\n docker build -f Dockerfile.devel \\\n     --build-arg UID=$(id -u) \\\n     --build-arg GID=$(id -g) \\\n     --build-arg USERNAME=$(id -u -n) \\\n     --build-arg BASE_IMAGE=ci:v4.0-branch \\\n     -t devel:\u003ctag\u003e .\n```\n\nThen when running the ci or devel image there are additional command line arguments to\nconnect the host ssh-agent ports to the ssh-agent ports inside the container.\n\n```\ndocker run -ti \\\n    -v $HOME/Work/zephyrproject:/workdir \\\n    --mount type=bind,src=$SSH_AUTH_SOCK,target=/run/host-services/ssh-auth.sock \\\n    --env SSH_AUTH_SOCK=\"/run/host-services/ssh-auth.sock\" \\\n    devel:\u003ctag\u003e\n```\n\n### Usage\n\n#### Building a sample application\n\nFollow the steps below to build and run a sample application:\n\n```\nwest build -b qemu_x86 samples/hello_world\nwest build -t run\n```\n\n#### Building display sample applications\n\nIt is possible to build and run the _native POSIX_ sample applications that produce display outputs\nby connecting to the Docker instance using a VNC client.\n\nIn order to allow the VNC client to connect to the Docker instance, the port 5900 needs to be\nforwarded to the host:\n\n```\ndocker run -ti -p 5900:5900 -v \u003cpath to zephyr workspace\u003e:/workdir zephyr-build:v\u003ctag\u003e\n```\n\nFollow the steps below to build a display sample application for the _native POSIX_ board:\n\n```\nwest build -b native_posix samples/subsys/display/cfb\nwest build -t run\n```\n\nThe application display output can be observed by connecting a VNC client to _localhost_ at the\nport _5900_. The default VNC password is _zephyr_.\n\nOn a Ubuntu host, this can be done by running the following command:\n\n```\nvncviewer localhost:5900\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzephyrproject-rtos%2Fdocker-image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzephyrproject-rtos%2Fdocker-image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzephyrproject-rtos%2Fdocker-image/lists"}