| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| Dockerfile | D | 04-Jul-2025 | 2.6 KiB | 80 | 64 | |
| Dockerfile.base | D | 04-Jul-2025 | 1 KiB | 26 | 21 | |
| Makefile | D | 04-Jul-2025 | 1 KiB | 37 | 26 | |
| README.md | D | 04-Jul-2025 | 1.7 KiB | 52 | 35 | |
| base_version | D | 04-Jul-2025 | 6 | 2 | 1 | |
| version | D | 04-Jul-2025 | 6 | 2 | 1 |
README.md
1# Dev Container 2 3This directory contains the dev container used by developers locally as well as the crosvm CI 4infrastructure. 5 6The container is split into two, `crosvm_dev` defined by `tools/impl/dev_container/Dockerfile` and 7`crosvm_dev_base` defined by `tools/impl/dev_container/Dockerfile.base`. 8 9## crosvm_dev_base 10 11The `Dockerfile.base` image contains a plain debian image with only debian packages from 12`tools/deps/install-*-debs` installed. Since we track debian testing, new packages can come with new 13problems and that image should not be updated very often. 14 15To make changes to those debian packages, modify the install scripts and uprev the 16`tools/impl/dev_container/base_version` file. Then rebuild the container with: 17 18``` 19make -C tools/impl/dev_container crosvm_dev_base 20``` 21 22Then proceed below to rebuild the `crosvm_dev` container using the new base image as well and upload 23both. 24 25## crosvm_dev 26 27The `Dockerfile` builds the dev container on top of `crosvm_dev_base`, so we are free to uprev 28tooling without having to pull in new debian packages. 29 30To make changes to `crosvm_dev`, modify the corresponding install scripts and uprev the 31`tools/impl/dev_container/version` file. Then rebuild the container with: 32 33``` 34make -C tools/impl/dev_container crosvm_dev 35``` 36 37This will make the image available for testing locally with `tools/dev_container`. You may have to 38stop the previous container to pick up the new image `tools/dev_container --stop`. 39 40To upload the new version of the containers run: 41 42``` 43make -C tools/impl/dev_container upload 44``` 45 46You need to be a Googler to be able to do so. See go/crosvm/infra for access control and 47authenticate via: 48 49``` 50gcloud auth configure-docker gcr.io 51``` 52