# Allow Docker Manager to rebuild container and install plugins

**URL:** <https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576>\
**Category:** Feature\
**Tags:** docker\
**Created:** [2015年二月23日 17:24 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576 "2015-02-23T17:24:51Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![hunterboerner](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hunterboerner/32/114646_2.png) [@hunterboerner](https://meta.discourse.org/u/hunterboerner)\
**Post date:** [2015年二月23日 17:24 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576/1 "2015-02-23T17:24:52Z")

</div>

It would be nice if docker manager could handle rebuilding the app and installing plugins. Both of these things currently require sshing into the server and manually editing a config file which feels very messy and is confusing for a lot of people.

Is this possible?

---

<div class="post-metadata">

**Author:** ![ichpen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ichpen/32/115584_2.png) [@ichpen](https://meta.discourse.org/u/ichpen)\
**Post date:** [2015年二月23日 17:26 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576/2 "2015-02-23T17:26:24Z")

</div>

I second this feature request. Plugin management needs some love.

---

<div class="post-metadata">

**Author:** ![cdesch](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cdesch/32/115528_2.png) [@cdesch](https://meta.discourse.org/u/cdesch)\
**Post date:** [2015年二月23日 17:27 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576/3 "2015-02-23T17:27:07Z")

</div>

This would be nice but I think it might be tough because the container needs to be rebuilt to integrate the changes from the plugin.

---

<div class="post-metadata">

**Author:** ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)\
**Post date:** [2015年二月23日 23:19 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576/4 "2015-02-23T23:19:18Z")

</div>

It’s also a bit of a layering violation, and would require either a suid root binary to be available inside the container to de-chroot and de-namespace, or a constantly running daemon outside the container (again as root) ready to rebuild when asked. And I certainly don’t trust myself to avoid writing a confused deputy vulnerability.

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2015年二月23日 23:29 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576/5 "2015-02-23T23:29:06Z")

</div>

My long term plan is to write a separate, mini-daemon for docker manager (probably in golang or something else that is very low impact). That way you can always recover from a crashed site.

This is on the cards but not scheduled and very complex.

---

<div class="post-metadata">

**Author:** ![hunterboerner](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hunterboerner/32/114646_2.png) [@hunterboerner](https://meta.discourse.org/u/hunterboerner)\
**Post date:** [2015年二月23日 23:43 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576/6 "2015-02-23T23:43:26Z")

</div>

> [@sam](#):
>
> golang or something else that is very low impac

Haskell? It’s much less verbose than go.

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2015年二月23日 23:47 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576/7 "2015-02-23T23:47:19Z")

</div>

This is a long long term discussion, nothing is going to happen for a bit, but the key is “tiny” amount of resident memory and something we can maintain easily.

It’s possible we could pull this off with frameworkless rack, or even have NGINX trigger a launch of it on demand.

---

<div class="post-metadata">

**Author:** ![chapel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapel/32/122414_2.png) [@chapel](https://meta.discourse.org/u/chapel)\
**Post date:** [2015年二月24日 02:40 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576/8 "2015-02-24T02:40:48Z")

</div>

The point is something small at runtime and and Go also has the benefit of easy binary installs.

---

<div class="post-metadata">

**Author:** ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)\
**Post date:** [2025年十二月4日 11:35 UTC](https://meta.discourse.org/t/allow-docker-manager-to-rebuild-container-and-install-plugins/25576/9 "2025-12-04T11:35:42Z")

</div>


