Git Product home page Git Product logo

Comments (7)

sameersbn avatar sameersbn commented on July 21, 2024

@peefour data is not lost if the container is stopped and started. but if you delete it, it's gone for sure, unless you commit the changes.

from docker-redmine.

sameersbn avatar sameersbn commented on July 21, 2024

@peefour this is the main reason why volumes can be mounted in docker.

from docker-redmine.

peefour avatar peefour commented on July 21, 2024

ah ok ;)
thank you!

from docker-redmine.

peefour avatar peefour commented on July 21, 2024

on another note, you say that you will remove mysql from the docker instance ( indeed the philosophy behind docker is that every service has its own container), but for me I like to have all related services in one container. so I would appreciate it if mysql (and apache etc) will stay in the container ;)

thanks very much!

from docker-redmine.

sameersbn avatar sameersbn commented on July 21, 2024

@peefour the idea is each container should provide a single service. in this case it would be the redmine application. Any additional services that the application requires, like a database server, should be availed from other containers (service discovery) or configured manually.

How this helps:

  1. reduced size of the image. Removing mysql-server alone trims the image size by ~100MB.
  2. reduced image complexity in the sense that we only deal with the working of redmine and not the mysql server. For example, in another image (sameersbn/gitlab), i have an issue report saying that the mysql server is not starting. Now debugging that issue is a pain because there are too many variables in the container. If it was just a container that provided a mysql database server it would have been simple to figure out the issue.
  3. You can share services between containers. For example, redmine requires a database server and lets say we select a postgresql server for this and use the sameersbn/postgresql container. Now say another application, eg. gitlab, also requires a database server and since we already have a postgresql container running we can simply use it.
    The alternate way would be to run a postgresql server in the redmine container and another postgresql server in the gitlab container. As you can already tell this would not be optimal.

As an aside, It is advisable to use postgresql server over mysql for the simple reason being postgresql performs much better with multiple cores/cpus and in today's world who does not have a multicore cpu. PostgreSQL beats the stuffing out of MySQL.

P.S. This is a blog post from 2006, so things could have changed over the years. Do your own research.

from docker-redmine.

peefour avatar peefour commented on July 21, 2024

hi,

thanks for the extensive info sameer ;)
I understand the rationale behind it, and it makes a lot of sense, especially in corporate environments.
But having everything in one container has also benefits, because having everything in several containers means more configurations, network links, and complexity. For non-professional use of redmine (in my case) that's a bit overkill ;)

from docker-redmine.

sameersbn avatar sameersbn commented on July 21, 2024

@peefour well starting an additional container cannot be an overkill :)

from docker-redmine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.