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