|
13 | 13 | <script src="../../static/js/html5shiv.min.js"></script>
|
14 | 14 | <![endif]-->
|
15 | 15 |
|
| 16 | + <script src="../../static/jquery.js"></script> |
| 17 | + <script src="../../static/_sphinx_javascript_frameworks_compat.js"></script> |
16 | 18 | <script data-url_root="../../" id="documentation_options" src="../../static/documentation_options.js"></script>
|
17 | 19 | <script src="../../static/doctools.js"></script>
|
18 | 20 | <script src="../../static/sphinx_highlight.js"></script>
|
|
53 | 55 | <li class="toctree-l3"><a class="reference internal" href="#limitations-of-dockerexec">Limitations of DockerExec</a></li>
|
54 | 56 | <li class="toctree-l3"><a class="reference internal" href="#spawn-global-network-containers">Spawn global network containers</a></li>
|
55 | 57 | <li class="toctree-l3"><a class="reference internal" href="#a-minimal-configuration-for-php">A Minimal Configuration for PHP</a></li>
|
| 58 | +<li class="toctree-l3"><a class="reference internal" href="#headstarting-the-docker-containers">Headstarting the Docker Containers</a></li> |
56 | 59 | </ul>
|
57 | 60 | </li>
|
58 | 61 | <li class="toctree-l2"><a class="reference internal" href="mailcatching.html">E-Mail Catching</a></li>
|
@@ -216,9 +219,37 @@ <h2>Limitations of DockerExec<a class="headerlink" href="#limitations-of-dockere
|
216 | 219 | </div>
|
217 | 220 | <p>These files can be created within any current directory with the <code class="docutils literal notranslate"><span class="pre">DockerExec</span> <span class="pre">proxy</span> <span class="pre">generate</span> <span class="pre">${project-name}</span></code> command.
|
218 | 221 | See <code class="docutils literal notranslate"><span class="pre">DockerExec</span> <span class="pre">help</span></code> for better usage info.</p>
|
| 222 | +</section> |
| 223 | +<section id="headstarting-the-docker-containers"> |
| 224 | +<span id="docs-docker-proxy-headstarting-containers"></span><h2>Headstarting the Docker Containers<a class="headerlink" href="#headstarting-the-docker-containers" title="Permalink to this heading"></a></h2> |
219 | 225 | <p>Use the <code class="docutils literal notranslate"><span class="pre">START_CONTAINER</span></code> variable to define the container, that will be allocated with <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">exec</span> <span class="pre">-it</span></code> at the
|
220 | 226 | end of a <code class="docutils literal notranslate"><span class="pre">DockerExec</span> <span class="pre">(dev|prod|proxy)</span> <span class="pre">start</span></code> command. If <code class="docutils literal notranslate"><span class="pre">START_CONTAINER=none</span></code> is set, the <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">exec</span></code> will be
|
221 | 227 | omitted. If not defined, it falls back to search for the first container with <code class="docutils literal notranslate"><span class="pre">-app</span></code> suffix.</p>
|
| 228 | +<p>If you like to use DockerExec commands within other shell scripts, e.g. starting multiple project with a single |
| 229 | +execution, the start container would be blocking further commands, if the current shell is adopted by the container tty. |
| 230 | +In this case, the variable <code class="docutils literal notranslate"><span class="pre">INTERRUPT_START_CONTAINER</span></code> will override the start container. Add an |
| 231 | +<code class="docutils literal notranslate"><span class="pre">export</span> <span class="pre">INTERRUPT_START_CONTAINER=yes</span></code> to the top of your shell script, to prevent the <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">exec</span></code> like this.</p> |
| 232 | +<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/usr/bin/env bash</span> |
| 233 | + |
| 234 | +<span class="nv">ALL_PATHS</span><span class="o">=(</span><span class="s2">"/path/to/project1"</span><span class="w"> </span><span class="s2">"/path/to/project2"</span><span class="w"> </span><span class="s2">"/path/to/project3"</span><span class="o">)</span> |
| 235 | +<span class="nb">export</span><span class="w"> </span><span class="nv">INTERRUPT_START_CONTAINER</span><span class="o">=</span>yes |
| 236 | + |
| 237 | +<span class="k">for</span><span class="w"> </span>project<span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="s2">"</span><span class="si">${</span><span class="nv">ALL_PATHS</span><span class="p">[@]</span><span class="si">}</span><span class="s2">"</span><span class="p">;</span><span class="w"> </span><span class="k">do</span> |
| 238 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="o">[[</span><span class="w"> </span>!<span class="w"> </span>-d<span class="w"> </span><span class="s2">"</span><span class="nv">$project</span><span class="s2">"</span><span class="w"> </span><span class="o">]]</span><span class="p">;</<
1115
span class=pl-ent>span><span class="w"> </span><span class="k">then</span> |
| 239 | +<span class="w"> </span><span class="nb">echo</span><span class="w"> </span><span class="s2">"No project found on </span><span class="nv">$project</span><span class="s2">!"</span> |
| 240 | +<span class="w"> </span><span class="nb">exit</span><span class="w"> </span><span class="m">1</span> |
| 241 | +<span class="w"> </span><span class="k">fi</span> |
| 242 | + |
| 243 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="o">[[</span><span class="w"> </span>!<span class="w"> </span>-f<span class="w"> </span><span class="s2">"</span><span class="nv">$project</span><span class="s2">/.env"</span><span class="w"> </span><span class="o">]]</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">[[</span><span class="w"> </span>!<span class="w"> </span>-f<span class="w"> </span><span class="s2">"</span><span class="nv">$project</span><span class="s2">/docker-compose.proxy.yaml"</span><span class="w"> </span><span class="o">]]</span><span class="p">;</span><span class="w"> </span><span class="k">then</span> |
| 244 | +<span class="w"> </span><span class="nb">echo</span><span class="w"> </span><span class="s2">"Project on </span><span class="nv">$project</span><span class="s2"> is not prepared for Docker-Proxy-Stack!"</span> |
| 245 | +<span class="w"> </span><span class="nb">exit</span><span class="w"> </span><span class="m">1</span> |
| 246 | +<span class="w"> </span><span class="k">fi</span> |
| 247 | + |
| 248 | +<span class="w"> </span><span class="nb">cd</span><span class="w"> </span><span class="s2">"</span><span class="nv">$project</span><span class="s2">"</span> |
| 249 | +<span class="w"> </span>DockerExec<span class="w"> </span>proxy<span class="w"> </span>start |
| 250 | +<span class="k">done</span> |
| 251 | +</pre></div> |
| 252 | +</div> |
222 | 253 | </section>
|
223 | 254 | </section>
|
224 | 255 |
|
|
0 commit comments