Skip to content

Commit c5521a7

Browse files
committed
Docs: add troubleshooting section
Explain the common build error when the Docker image is not found.
1 parent 494fc27 commit c5521a7

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed
Loading

docs/dev/install.rst

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ save some work while typing docker compose commands. This section explains these
138138
``inv docker.pull``
139139
Downloads and tags all the Docker images required for builders.
140140

141-
* ``--only-latest`` does not pull ``stable`` and ``testing`` images.
141+
* ``--only-required`` pulls only the image ``ubuntu-20.04``.
142142

143143
``inv docker.buildassets``
144144
Build all the assets and "deploy" them to the storage.
@@ -216,6 +216,52 @@ For others, the webhook will simply fail to connect when there are new commits t
216216
Make sure to apply it to the "Site".
217217

218218

219+
Troubleshooting
220+
---------------
221+
222+
Builds fail with a generic error
223+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
224+
225+
There are projects that do not use the default Docker image downloaded when setting up the development environment.
226+
These extra images are not downloaded by default because they are big and they are not required in all cases.
227+
However, if you are seeing the following error
228+
229+
.. figure:: /_static/images/development/read-the-docs-build-failing.png
230+
:align: center
231+
:figwidth: 80%
232+
233+
Build failing with a generic error
234+
235+
236+
and in the console where the logs are shown you see something like ``BuildAppError: No such image: readthedocs/build:ubuntu-22.04``,
237+
that means the application wasn't able to find the Docker image required to build that project and it failed.
238+
239+
In this case, you can run a command to download all the optional Docker images:
240+
241+
.. prompt:: bash
242+
243+
inv docker.pull
244+
245+
However, if you prefer to download only the *specific* image required for that project and save some space on disk,
246+
you have to follow these steps:
247+
248+
#. go to https://hub.docker.com/r/readthedocs/build/tags
249+
#. find the latest tag for the image shown in the logs
250+
(in this example is ``readthedocs/build:ubuntu-22.04``, which the current latest tag on that page is ``ubuntu-22.04-2022.03.15``)
251+
#. run the Docker command to pull it:
252+
253+
.. prompt:: bash
254+
255+
docker pull readthedocs/build:ubuntu-22.04-2022.03.15
256+
257+
#. tag the downloaded Docker image for the app to findit:
258+
259+
.. prompt:: bash
260+
261+
docker tag readthedocs/build:ubuntu-22.04-2022.03.15 readthedocs/build:ubuntu-22.04
262+
263+
Once this is done, you should be able to trigger a new build on that project and it should succeed.
264+
219265
Core team standards
220266
-------------------
221267

0 commit comments

Comments
 (0)