xref: /aosp_15_r20/external/pigweed/docker/docs.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1------
2Docker
3------
4``pw_env_setup`` reliably initializes a working environment for Pigweed, but
5can take awhile to run. It intelligently caches where it can, but that caching
6is designed around a particular execution environment. That environment
7assumption is poor when running tests with Docker. To help out teams using
8Docker for automated testing, the Pigweed team has a publicly-available Docker
9image with a cache of some of the Pigweed environment. The current tag of this
10image is in ``docker/tag`` under the Pigweed checkout.
11
12We're still trying to improve this process, so if you have any ideas for
13improvements please `create an issue`_.
14
15.. _create an issue: https://issues.pigweed.dev/issues?q=status:open
16
17Build your own Docker image
18===========================
19
20To build your own Docker image, start with ``docker/Dockerfile.cache`` and
21run ``docker build --file docker/Dockerfile.cache .`` from the root of your
22Pigweed checkout.
23
24Use the publicly available Docker image
25=======================================
26
27To use the publicly-available Docker image, run
28``docker build --file docker/Dockerfile.run --build-arg from=$(cat docker/tag) .``
29from the root of your Pigweed checkout. You still need to run
30``. ./bootstrap.sh`` within the Docker image, but it should complete much
31faster than on a vanilla Docker image.
32