@@ -138,7 +138,7 @@ save some work while typing docker compose commands. This section explains these
138
138
``inv docker.pull ``
139
139
Downloads and tags all the Docker images required for builders.
140
140
141
- * ``--only-latest `` does not pull `` stable `` and `` testing `` images .
141
+ * ``--only-required `` pulls only the image `` ubuntu-20.04 `` .
142
142
143
143
``inv docker.buildassets ``
144
144
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
216
216
Make sure to apply it to the "Site".
217
217
218
218
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
+
219
265
Core team standards
220
266
-------------------
221
267
0 commit comments