<p>I would say It depend on you preference since redeploying a stack for only 1 or so image, will not restart all the containers present.</p>

<p>In the other hand network feature since docker 17.06 are reusable between stack with the <code>attachable mode</code> so you could easily separate the layers of your app while keeping them on the same sub-network (for usage like <code>traefik</code> or private data network).</p>

<p>Frankly for me this is the same problem as in dev when you separate the functions you are defining so it's easier for the others devs to understand a file of 50 lines compare to a file of 500 lines.</p>

<p>In the end it also depend on how this is integrated with your CD and if it's painful to update one document or multiple document when adding/removing services.</p>

<p>Personally I would go with multiples stack files.</p>

CC BY-SA 3.0
2017-08-02T12:36:33.740Z
2017-08-03T09:18:07.223Z
2017-08-03T09:18:07.223Z
Juub
<p>Normally, the example you start with Docker introduce environment to right more or less one app - frontend, backend, something else..</p>

<p>Would you put all containers of a larger app  (20-30 containers and above without replicas) still to the same stack or introduce a set of stacks representing system layers? </p>

<docker><architecture>
Limits of a singular Docker Swarm stack
Ta Mu
# Limits of a singular Docker Swarm stack

(Asked by: username_0 on 2017-08-02)

Normally, the example you start with Docker introduce environment to right more or less one app - frontend, backend, something else..

Would you put all containers of a larger app (20-30 containers and above without replicas) still to the same stack or introduce a set of stacks representing system layers?

**Tags:** docker, architecture


---

## 1 answers

### Answer by username_1 on 2017-08-02. Score: 3 | Accepted answer

I would say It depend on you preference since redeploying a stack for only 1 or so image, will not restart all the containers present.

In the other hand network feature since docker 17.06 are reusable between stack with the `attachable mode` so you could easily separate the layers of your app while keeping them on the same sub-network (for usage like `traefik` or private data network).

Frankly for me this is the same problem as in dev when you separate the functions you are defining so it's easier for the others devs to understand a file of 50 lines compare to a file of 500 lines.

In the end it also depend on how this is integrated with your CD and if it's painful to update one document or multiple document when adding/removing services.

Personally I would go with multiples stack files.


---

