This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-site.git


The following commit(s) were added to refs/heads/main by this push:
     new f29dc4f4b4 Update docker documentation about installing dependencies 
(#789)
f29dc4f4b4 is described below

commit f29dc4f4b48882f4dba3dd831d173ae072c76563
Author: Jarek Potiuk <[email protected]>
AuthorDate: Tue May 23 12:58:51 2023 +0200

    Update docker documentation about installing dependencies (#789)
---
 docs-archive/docker-stack/_modules/index.html    |   1 +
 docs-archive/docker-stack/_sources/build.rst.txt |  55 +++++++++++
 docs-archive/docker-stack/build.html             | 112 ++++++++++++++++++-----
 docs-archive/docker-stack/recipes.html           |   6 +-
 docs-archive/docker-stack/searchindex.js         |   2 +-
 5 files changed, 149 insertions(+), 27 deletions(-)

diff --git a/docs-archive/docker-stack/_modules/index.html 
b/docs-archive/docker-stack/_modules/index.html
index 42fddff612..3a01b19c9c 100644
--- a/docs-archive/docker-stack/_modules/index.html
+++ b/docs-archive/docker-stack/_modules/index.html
@@ -561,6 +561,7 @@
 <li><a 
href="docs/docker-stack/docker-examples/extending/add-providers/Dockerf.html">docs.docker-stack.docker-examples.extending.add-providers.Dockerf</a></li>
 <li><a 
href="docs/docker-stack/docker-examples/extending/add-pypi-packages/Dockerf.html">docs.docker-stack.docker-examples.extending.add-pypi-packages.Dockerf</a></li>
 <li><a 
href="docs/docker-stack/docker-examples/extending/add-requirement-packages/Dockerf.html">docs.docker-stack.docker-examples.extending.add-requirement-packages.Dockerf</a></li>
+<li><a 
href="docs/docker-stack/docker-examples/extending/add-requirement-packages/requirements/.html">docs.docker-stack.docker-examples.extending.add-requirement-packages.requirements.</a></li>
 <li><a 
href="docs/docker-stack/docker-examples/extending/custom-providers/Dockerf.html">docs.docker-stack.docker-examples.extending.custom-providers.Dockerf</a></li>
 <li><a 
href="docs/docker-stack/docker-examples/extending/embedding-dags/Dockerf.html">docs.docker-stack.docker-examples.extending.embedding-dags.Dockerf</a></li>
 <li><a 
href="docs/docker-stack/docker-examples/extending/writable-directory/Dockerf.html">docs.docker-stack.docker-examples.extending.writable-directory.Dockerf</a></li>
diff --git a/docs-archive/docker-stack/_sources/build.rst.txt 
b/docs-archive/docker-stack/_sources/build.rst.txt
index 0020697cdb..5d14ba86cd 100644
--- a/docs-archive/docker-stack/_sources/build.rst.txt
+++ b/docs-archive/docker-stack/_sources/build.rst.txt
@@ -55,6 +55,17 @@ The following example adds ``lxml`` python package from PyPI 
to the image. When
 ``pip`` you need to use the ``airflow`` user rather than ``root``. Attempts to 
install ``pip`` packages
 as ``root`` will fail with an appropriate error message.
 
+.. note::
+   In the example below, we also add apache-airflow package to be installed - 
in the very same version
+   that the image version you used it from. This is not strictly necessary, 
but it is a good practice
+   to always install the same version of apache-airflow as the one you are 
using. This way you can
+   be sure that the version you are using is the same as the one you are 
extending. In some cases where
+   your new packages have conflicting dependencies, ``pip`` might decide to 
downgrade or upgrade
+   apache-airflow for you, so adding it explicitly is a good practice - this 
way if you have conflicting
+   requirements, you will get an error message with conflict information, 
rather than a surprise
+   downgrade or upgrade of airflow. If you upgrade airflow base image, you 
should also update the version
+   to match the new version of airflow.
+
 .. exampleinclude:: docker-examples/extending/add-pypi-packages/Dockerfile
     :language: Dockerfile
     :start-after: [START Dockerfile]
@@ -67,11 +78,26 @@ The following example adds few python packages from 
``requirements.txt`` from Py
 Note that similarly when adding individual packages, you need to use the 
``airflow`` user rather than
 ``root``. Attempts to install ``pip`` packages as ``root`` will fail with an 
appropriate error message.
 
+.. note::
+   In the example below, we also add apache-airflow package to be installed - 
in the very same version
+   that the image version you used it from. This is not strictly necessary, 
but it is a good practice
+   to always install the same version of apache-airflow as the one you are 
using. This way you can
+   be sure that the version you are using is the same as the one you are 
extending. In some cases where
+   your new packages have conflicting dependencies, ``pip`` might decide to 
downgrade or upgrade
+   apache-airflow for you, so adding it explicitly is a good practice - this 
way if you have conflicting
+   requirements, you will get an error message with conflict information, 
rather than a surprise
+   downgrade or upgrade of airflow. If you upgrade airflow base image, you 
should also update the version
+   to match the new version of airflow.
+
+
 .. exampleinclude:: 
docker-examples/extending/add-requirement-packages/Dockerfile
     :language: Dockerfile
     :start-after: [START Dockerfile]
     :end-before: [END Dockerfile]
 
+.. exampleinclude:: 
docker-examples/extending/add-requirement-packages/requirements.txt
+    :language: text
+
 
 Embedding DAGs
 ..............
@@ -266,8 +292,11 @@ Naming conventions for the images:
 | Image          | Python           | Standard image                  | Slim 
image                           |
 
+================+==================+=================================+======================================+
 | Latest default | 3.7              | apache/airflow:latest           | 
apache/airflow:slim-latest           |
++----------------+------------------+---------------------------------+--------------------------------------+
 | Default        | 3.7              | apache/airflow:X.Y.Z            | 
apache/airflow:slim-X.Y.Z            |
++----------------+------------------+---------------------------------+--------------------------------------+
 | Latest         | 3.7,3.8,3.9,3.10 | apache/airflow:latest-pythonN.M | 
apache/airflow:slim-latest-pythonN.M |
++----------------+------------------+---------------------------------+--------------------------------------+
 | Specific       | 3.7,3.8,3.9,3.10 | apache/airflow:X.Y.Z-pythonN.M  | 
apache/airflow:slim-X.Y.Z-pythonN.M  |
 
+----------------+------------------+---------------------------------+--------------------------------------+
 
@@ -385,11 +414,25 @@ The following example adds few python packages from 
``requirements.txt`` from Py
 Note that similarly when adding individual packages, you need to use the 
``airflow`` user rather than
 ``root``. Attempts to install ``pip`` packages as ``root`` will fail with an 
appropriate error message.
 
+.. note::
+   In the example below, we also add apache-airflow package to be installed - 
in the very same version
+   that the image version you used it from. This is not strictly necessary, 
but it is a good practice
+   to always install the same version of apache-airflow as the one you are 
using. This way you can
+   be sure that the version you are using is the same as the one you are 
extending. In some cases where
+   your new packages have conflicting dependencies, ``pip`` might decide to 
downgrade or upgrade
+   apache-airflow for you, so adding it explicitly is a good practice - this 
way if you have conflicting
+   requirements, you will get an error message with conflict information, 
rather than a surprise
+   downgrade or upgrade of airflow. If you upgrade airflow base image, you 
should also update the version
+   to match the new version of airflow.
+
 .. exampleinclude:: 
docker-examples/extending/add-requirement-packages/Dockerfile
     :language: Dockerfile
     :start-after: [START Dockerfile]
     :end-before: [END Dockerfile]
 
+.. exampleinclude:: 
docker-examples/extending/add-requirement-packages/requirements.txt
+    :language: text
+
 
 Example when writable directory is needed
 .........................................
@@ -558,6 +601,18 @@ You can use ``docker-context-files`` for the following 
purposes:
 * you can place ``requirements.txt`` and add any ``pip`` packages you want to 
install in the
   ``docker-context-file`` folder. Those requirements will be automatically 
installed during the build.
 
+.. note::
+   In the example below, we also add apache-airflow package to be installed - 
in the very same version
+   that the image version you used it from. This is not strictly necessary, 
but it is a good practice
+   to always install the same version of apache-airflow as the one you are 
using. This way you can
+   be sure that the version you are using is the same as the one you are 
extending. In some cases where
+   your new packages have conflicting dependencies, ``pip`` might decide to 
downgrade or upgrade
+   apache-airflow for you, so adding it explicitly is a good practice - this 
way if you have conflicting
+   requirements, you will get an error message with conflict information, 
rather than a surprise
+   downgrade or upgrade of airflow. If you upgrade airflow base image, you 
should also update the version
+   to match the new version of airflow.
+
+
 .. exampleinclude:: docker-examples/customizing/own-requirements.sh
     :language: bash
     :start-after: [START build]
diff --git a/docs-archive/docker-stack/build.html 
b/docs-archive/docker-stack/build.html
index 211c98b83a..d23f19f52d 100644
--- a/docs-archive/docker-stack/build.html
+++ b/docs-archive/docker-stack/build.html
@@ -674,10 +674,22 @@ switch to the <code class="docutils literal 
notranslate"><span class="pre">root<
 <p>The following example adds <code class="docutils literal notranslate"><span 
class="pre">lxml</span></code> python package from PyPI to the image. When 
adding packages via
 <code class="docutils literal notranslate"><span class="pre">pip</span></code> 
you need to use the <code class="docutils literal notranslate"><span 
class="pre">airflow</span></code> user rather than <code class="docutils 
literal notranslate"><span class="pre">root</span></code>. Attempts to install 
<code class="docutils literal notranslate"><span class="pre">pip</span></code> 
packages
 as <code class="docutils literal notranslate"><span 
class="pre">root</span></code> will fail with an appropriate error message.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>In the example below, we also add apache-airflow package to be installed - 
in the very same version
+that the image version you used it from. This is not strictly necessary, but 
it is a good practice
+to always install the same version of apache-airflow as the one you are using. 
This way you can
+be sure that the version you are using is the same as the one you are 
extending. In some cases where
+your new packages have conflicting dependencies, <code class="docutils literal 
notranslate"><span class="pre">pip</span></code> might decide to downgrade or 
upgrade
+apache-airflow for you, so adding it explicitly is a good practice - this way 
if you have conflicting
+requirements, you will get an error message with conflict information, rather 
than a surprise
+downgrade or upgrade of airflow. If you upgrade airflow base image, you should 
also update the version
+to match the new version of airflow.</p>
+</div>
 <div class="example-block-wrapper compound">
 <p class="example-header compound-first"><span 
class="example-title">docs/docker-stack/docker-examples/extending/add-pypi-packages/Dockerfile</span></p>
 <div class="compound-last highlight-Dockerfile notranslate"><div 
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> 
</span><span class="s">apache/airflow:2.6.1</span>
-<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> </span>lxml
+<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span><span class="s2">&quot;apache-airflow==</span><span 
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span 
class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>lxml
 </pre></div>
 </div>
 </div>
@@ -687,11 +699,30 @@ as <code class="docutils literal notranslate"><span 
class="pre">root</span></cod
 <p>The following example adds few python packages from <code class="docutils 
literal notranslate"><span class="pre">requirements.txt</span></code> from PyPI 
to the image.
 Note that similarly when adding individual packages, you need to use the <code 
class="docutils literal notranslate"><span class="pre">airflow</span></code> 
user rather than
 <code class="docutils literal notranslate"><span 
class="pre">root</span></code>. Attempts to install <code class="docutils 
literal notranslate"><span class="pre">pip</span></code> packages as <code 
class="docutils literal notranslate"><span class="pre">root</span></code> will 
fail with an appropriate error message.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>In the example below, we also add apache-airflow package to be installed - 
in the very same version
+that the image version you used it from. This is not strictly necessary, but 
it is a good practice
+to always install the same version of apache-airflow as the one you are using. 
This way you can
+be sure that the version you are using is the same as the one you are 
extending. In some cases where
+your new packages have conflicting dependencies, <code class="docutils literal 
notranslate"><span class="pre">pip</span></code> might decide to downgrade or 
upgrade
+apache-airflow for you, so adding it explicitly is a good practice - this way 
if you have conflicting
+requirements, you will get an error message with conflict information, rather 
than a surprise
+downgrade or upgrade of airflow. If you upgrade airflow base image, you should 
also update the version
+to match the new version of airflow.</p>
+</div>
 <div class="example-block-wrapper compound">
 <p class="example-header compound-first"><span 
class="example-title">docs/docker-stack/docker-examples/extending/add-requirement-packages/Dockerfile</span></p>
 <div class="compound-last highlight-Dockerfile notranslate"><div 
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> 
</span><span class="s">apache/airflow:2.6.1</span>
 <span class="k">COPY</span><span class="w"> </span>requirements.txt<span 
class="w"> </span>/
-<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span>-r<span class="w"> </span>/requirements.txt
+<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span><span class="s2">&quot;apache-airflow==</span><span 
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span 
class="si">}</span><span class="s2">&quot;</span><span class="w"> 
</span>-r<span class="w"> </span>/requirements.txt
+</pre></div>
+</div>
+</div>
+<div class="example-block-wrapper compound">
+<p class="example-header compound-first"><span 
class="example-title">docs/docker-stack/docker-examples/extending/add-requirement-packages/requirements.txt</span></p>
+<div class="compound-last highlight-text notranslate"><div 
class="highlight"><pre><span></span>lxml
+beautifulsoup4
 </pre></div>
 </div>
 </div>
@@ -935,22 +966,25 @@ require different limits for the same dependencies.</p>
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p>Latest default
-Default
-Latest
-Specific</p></td>
-<td><p>3.7
-3.7
-3.7,3.8,3.9,3.10
-3.7,3.8,3.9,3.10</p></td>
-<td><p>apache/airflow:latest
-apache/airflow:X.Y.Z
-apache/airflow:latest-pythonN.M
-apache/airflow:X.Y.Z-pythonN.M</p></td>
-<td><p>apache/airflow:slim-latest
-apache/airflow:slim-X.Y.Z
-apache/airflow:slim-latest-pythonN.M
-apache/airflow:slim-X.Y.Z-pythonN.M</p></td>
+<tr class="row-even"><td><p>Latest default</p></td>
+<td><p>3.7</p></td>
+<td><p>apache/airflow:latest</p></td>
+<td><p>apache/airflow:slim-latest</p></td>
+</tr>
+<tr class="row-odd"><td><p>Default</p></td>
+<td><p>3.7</p></td>
+<td><p>apache/airflow:X.Y.Z</p></td>
+<td><p>apache/airflow:slim-X.Y.Z</p></td>
+</tr>
+<tr class="row-even"><td><p>Latest</p></td>
+<td><p>3.7,3.8,3.9,3.10</p></td>
+<td><p>apache/airflow:latest-pythonN.M</p></td>
+<td><p>apache/airflow:slim-latest-pythonN.M</p></td>
+</tr>
+<tr class="row-odd"><td><p>Specific</p></td>
+<td><p>3.7,3.8,3.9,3.10</p></td>
+<td><p>apache/airflow:X.Y.Z-pythonN.M</p></td>
+<td><p>apache/airflow:slim-X.Y.Z-pythonN.M</p></td>
 </tr>
 </tbody>
 </table>
@@ -1023,7 +1057,7 @@ use features available in that provider version. Here is 
an example of how you c
 <div class="example-block-wrapper compound">
 <p class="example-header compound-first"><span 
class="example-title">docs/docker-stack/docker-examples/extending/custom-providers/Dockerfile</span></p>
 <div class="compound-last highlight-Dockerfile notranslate"><div 
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> 
</span><span class="s">apache/airflow:2.6.1</span>
-<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span>apache-airflow-providers-docker<span class="o">==</span><span 
class="m">2</span>.5.1
+<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span><span 
class="s2">&quot;apache-airflow==</span><span class="si">${</span><span 
class="nv">AIRFLOW_VERSION</span><span class="si">}</span><span 
class="s2">&quot;</span><span class="w"> </span>--no-cache-dir<span class="w"> 
</span>apache-airflow-providers-docker<span class="o">==</span><span 
class="m">2</span>.5.1
 </pre></div>
 </div>
 </div>
@@ -1044,7 +1078,7 @@ python package from PyPI.</p>
 <span class="w">  </span><span class="o">&amp;&amp;</span><span class="w"> 
</span>rm<span class="w"> </span>-rf<span class="w"> </span>/var/lib/apt/lists/*
 <span class="k">USER</span><span class="w"> </span><span 
class="s">airflow</span>
 <span class="k">ENV</span><span class="w"> </span><span 
class="nv">JAVA_HOME</span><span 
class="o">=</span>/usr/lib/jvm/java-11-openjdk-amd64
-<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span>apache-airflow-providers-apache-spark<span class="o">==</span><span 
class="m">2</span>.1.3
+<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span><span class="s2">&quot;apache-airflow==</span><span 
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span 
class="si">}</span><span class="s2">&quot;</span><span class="w"> 
</span>apache-airflow-providers-apache-spark<span class="o">==</span><span 
class="m">2</span>.1.3
 </pre></div>
 </div>
 </div>
@@ -1073,7 +1107,7 @@ python package from PyPI.</p>
 <div class="example-block-wrapper compound">
 <p class="example-header compound-first"><span 
class="example-title">docs/docker-stack/docker-examples/extending/add-pypi-packages/Dockerfile</span></p>
 <div class="compound-last highlight-Dockerfile notranslate"><div 
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> 
</span><span class="s">apache/airflow:2.6.1</span>
-<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> </span>lxml
+<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span><span class="s2">&quot;apache-airflow==</span><span 
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span 
class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>lxml
 </pre></div>
 </div>
 </div>
@@ -1083,11 +1117,30 @@ python package from PyPI.</p>
 <p>The following example adds few python packages from <code class="docutils 
literal notranslate"><span class="pre">requirements.txt</span></code> from PyPI 
to the image.
 Note that similarly when adding individual packages, you need to use the <code 
class="docutils literal notranslate"><span class="pre">airflow</span></code> 
user rather than
 <code class="docutils literal notranslate"><span 
class="pre">root</span></code>. Attempts to install <code class="docutils 
literal notranslate"><span class="pre">pip</span></code> packages as <code 
class="docutils literal notranslate"><span class="pre">root</span></code> will 
fail with an appropriate error message.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>In the example below, we also add apache-airflow package to be installed - 
in the very same version
+that the image version you used it from. This is not strictly necessary, but 
it is a good practice
+to always install the same version of apache-airflow as the one you are using. 
This way you can
+be sure that the version you are using is the same as the one you are 
extending. In some cases where
+your new packages have conflicting dependencies, <code class="docutils literal 
notranslate"><span class="pre">pip</span></code> might decide to downgrade or 
upgrade
+apache-airflow for you, so adding it explicitly is a good practice - this way 
if you have conflicting
+requirements, you will get an error message with conflict information, rather 
than a surprise
+downgrade or upgrade of airflow. If you upgrade airflow base image, you should 
also update the version
+to match the new version of airflow.</p>
+</div>
 <div class="example-block-wrapper compound">
 <p class="example-header compound-first"><span 
class="example-title">docs/docker-stack/docker-examples/extending/add-requirement-packages/Dockerfile</span></p>
 <div class="compound-last highlight-Dockerfile notranslate"><div 
class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> 
</span><span class="s">apache/airflow:2.6.1</span>
 <span class="k">COPY</span><span class="w"> </span>requirements.txt<span 
class="w"> </span>/
-<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span>-r<span class="w"> </span>/requirements.txt
+<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span><span class="s2">&quot;apache-airflow==</span><span 
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span 
class="si">}</span><span class="s2">&quot;</span><span class="w"> 
</span>-r<span class="w"> </span>/requirements.txt
+</pre></div>
+</div>
+</div>
+<div class="example-block-wrapper compound">
+<p class="example-header compound-first"><span 
class="example-title">docs/docker-stack/docker-examples/extending/add-requirement-packages/requirements.txt</span></p>
+<div class="compound-last highlight-text notranslate"><div 
class="highlight"><pre><span></span>lxml
+beautifulsoup4
 </pre></div>
 </div>
 </div>
@@ -1119,7 +1172,7 @@ running the container.</p>
 <span class="w">  </span><span class="o">&amp;&amp;</span><span class="w"> 
</span>apt-get<span class="w"> </span>clean<span class="w"> </span><span 
class="se">\</span>
 <span class="w">  </span><span class="o">&amp;&amp;</span><span class="w"> 
</span>rm<span class="w"> </span>-rf<span class="w"> </span>/var/lib/apt/lists/*
 <span class="k">USER</span><span class="w"> </span><span 
class="s">airflow</span>
-<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span>mpi4py
+<span class="k">RUN</span><span class="w"> </span>pip<span class="w"> 
</span>install<span class="w"> </span>--no-cache-dir<span class="w"> 
</span><span class="s2">&quot;apache-airflow==</span><span 
class="si">${</span><span class="nv">AIRFLOW_VERSION</span><span 
class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>mpi4py
 </pre></div>
 </div>
 </div>
@@ -1281,12 +1334,25 @@ during the build.</p>
 <li><p>you can place <code class="docutils literal notranslate"><span 
class="pre">requirements.txt</span></code> and add any <code class="docutils 
literal notranslate"><span class="pre">pip</span></code> packages you want to 
install in the
 <code class="docutils literal notranslate"><span 
class="pre">docker-context-file</span></code> folder. Those requirements will 
be automatically installed during the build.</p></li>
 </ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>In the example below, we also add apache-airflow package to be installed - 
in the very same version
+that the image version you used it from. This is not strictly necessary, but 
it is a good practice
+to always install the same version of apache-airflow as the one you are using. 
This way you can
+be sure that the version you are using is the same as the one you are 
extending. In some cases where
+your new packages have conflicting dependencies, <code class="docutils literal 
notranslate"><span class="pre">pip</span></code> might decide to downgrade or 
upgrade
+apache-airflow for you, so adding it explicitly is a good practice - this way 
if you have conflicting
+requirements, you will get an error message with conflict information, rather 
than a surprise
+downgrade or upgrade of airflow. If you upgrade airflow base image, you should 
also update the version
+to match the new version of airflow.</p>
+</div>
 <div class="example-block-wrapper compound">
 <p class="example-header compound-first"><span 
class="example-title">docs/docker-stack/docker-examples/customizing/own-requirements.sh</span></p>
 <div class="compound-last highlight-bash notranslate"><div 
class="highlight"><pre><span></span>mkdir<span class="w"> </span>-p<span 
class="w"> </span>docker-context-files
 
 cat<span class="w"> </span><span class="s">&lt;&lt;EOF 
&gt;./docker-context-files/requirements.txt</span>
 <span class="s">beautifulsoup4==4.10.0</span>
+<span class="s">apache-airflow==2.6.0.dev0</span>
 <span class="s">EOF</span>
 
 <span class="nb">export</span><span class="w"> </span><span 
class="nv">DOCKER_BUILDKIT</span><span class="o">=</span><span 
class="m">1</span>
diff --git a/docs-archive/docker-stack/recipes.html 
b/docs-archive/docker-stack/recipes.html
index e55b3d1f2b..85c3c79d6f 100644
--- a/docs-archive/docker-stack/recipes.html
+++ b/docs-archive/docker-stack/recipes.html
@@ -565,8 +565,8 @@ recipes to the documentation in case they prove useful to 
other members of the c
 submitting a pull request. The sections below capture this knowledge.</p>
 <div class="section" id="google-cloud-sdk-installation">
 <h2>Google Cloud SDK installation<a class="headerlink" 
href="#google-cloud-sdk-installation" title="Permalink to this 
heading">¶</a></h2>
-<p>Some operators, such as <a class="reference external" 
href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/kubernetes_engine/index.html#airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartPodOperator"
 title="(in apache-airflow-providers-google v10.0.0)"><code class="xref py 
py-class docutils literal notranslate"><span 
class="pre">GKEStartPodOperator</span></code></a>,
-<a class="reference external" 
href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/dataflow/index.html#airflow.providers.google.cloud.operators.dataflow.DataflowStartSqlJobOperator"
 title="(in apache-airflow-providers-google v10.0.0)"><code class="xref py 
py-class docutils literal notranslate"><span 
class="pre">DataflowStartSqlJobOperator</span></code></a>, require
+<p>Some operators, such as <a class="reference external" 
href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/kubernetes_engine/index.html#airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartPodOperator"
 title="(in apache-airflow-providers-google v10.1.0)"><code class="xref py 
py-class docutils literal notranslate"><span 
class="pre">GKEStartPodOperator</span></code></a>,
+<a class="reference external" 
href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/dataflow/index.html#airflow.providers.google.cloud.operators.dataflow.DataflowStartSqlJobOperator"
 title="(in apache-airflow-providers-google v10.1.0)"><code class="xref py 
py-class docutils literal notranslate"><span 
class="pre">DataflowStartSqlJobOperator</span></code></a>, require
 the installation of <a class="reference external" 
href="https://cloud.google.com/sdk";>Google Cloud SDK</a> (includes <code 
class="docutils literal notranslate"><span class="pre">gcloud</span></code>).
 You can also run these commands with BashOperator.</p>
 <p>Create a new Dockerfile like the one shown below.</p>
@@ -739,7 +739,7 @@ Below are the steps to take tools that are frequently used 
in Hadoop-world:</p>
 </div>
 <div class="section" id="apache-beam-go-stack-installation">
 <h2>Apache Beam Go Stack installation<a class="headerlink" 
href="#apache-beam-go-stack-installation" title="Permalink to this 
heading">¶</a></h2>
-<p>To be able to run Beam Go Pipeline with the <a class="reference external" 
href="/docs/apache-airflow-providers-apache-beam/stable/_api/airflow/providers/apache/beam/operators/beam/index.html#airflow.providers.apache.beam.operators.beam.BeamRunGoPipelineOperator"
 title="(in apache-airflow-providers-apache-beam v5.0.0)"><code class="xref py 
py-class docutils literal notranslate"><span 
class="pre">BeamRunGoPipelineOperator</span></code></a>,
+<p>To be able to run Beam Go Pipeline with the <a class="reference external" 
href="/docs/apache-airflow-providers-apache-beam/stable/_api/airflow/providers/apache/beam/operators/beam/index.html#airflow.providers.apache.beam.operators.beam.BeamRunGoPipelineOperator"
 title="(in apache-airflow-providers-apache-beam v5.1.0)"><code class="xref py 
py-class docutils literal notranslate"><span 
class="pre">BeamRunGoPipelineOperator</span></code></a>,
 you will need Go in your container. Install airflow with <code class="docutils 
literal notranslate"><span 
class="pre">apache-airflow-providers-google&gt;=6.5.0</span></code> and <code 
class="docutils literal notranslate"><span 
class="pre">apache-airflow-providers-apache-beam&gt;=3.2.0</span></code></p>
 <p>Create a new Dockerfile like the one shown below.</p>
 <div class="example-block-wrapper compound">
diff --git a/docs-archive/docker-stack/searchindex.js 
b/docs-archive/docker-stack/searchindex.js
index 054d02f3a4..2059b1dabe 100644
--- a/docs-archive/docker-stack/searchindex.js
+++ b/docs-archive/docker-stack/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["build", "build-arg-ref", "changelog", 
"entrypoint", "index", "recipes"], "filenames": ["build.rst", 
"build-arg-ref.rst", "changelog.rst", "entrypoint.rst", "index.rst", 
"recipes.rst"], "titles": ["Building the image", "Image build arguments 
reference", "Dockerfile Changelog", "Entrypoint", "Docker Image for Apache 
Airflow", "Recipes"], "terms": {"befor": [0, 1, 2], "dive": 0, "deepli": 0, 
"wai": [0, 1, 2, 3, 4, 5], "how": [0, 2, 3, 4], "built": [0, 1, 2], " [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["build", "build-arg-ref", "changelog", 
"entrypoint", "index", "recipes"], "filenames": ["build.rst", 
"build-arg-ref.rst", "changelog.rst", "entrypoint.rst", "index.rst", 
"recipes.rst"], "titles": ["Building the image", "Image build arguments 
reference", "Dockerfile Changelog", "Entrypoint", "Docker Image for Apache 
Airflow", "Recipes"], "terms": {"befor": [0, 1, 2], "dive": 0, "deepli": 0, 
"wai": [0, 1, 2, 3, 4, 5], "how": [0, 2, 3, 4], "built": [0, 1, 2], " [...]
\ No newline at end of file

Reply via email to