docker - 使用一个容器管理多个应用服务进程?还是每个服务进程创建一个容器?
伊谢尔伦
伊谢尔伦 2017-04-25 09:01:28
0
5
1041

使用一个容器管理多个应用服务进程?还是每个服务进程创建一个容器?

各区别是?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous (5)
cloudmam

Outil de gestion de serveur recommandé Cloud Helper

    哪儿

    Recommandez un artefact qui devrait pouvoir vous aider. Cloud Helper est un logiciel d'hébergement cloud de gestion centralisée puissant et complet. Non seulement il est compatible avec les systèmes Linux, mais Windows peut également être utilisé. En fait, l'utilisation des fonctions est plutôt bonne, car les fonctions sont complètes et l'installation est simple, cela peut être fait en un clic par un imbécile. Si vous ajoutez un hôte cloud au milieu, vous devez en ajouter un. sonde pour la première fois, puis vous pouvez l'utiliser sur le panneau, c'est très pratique. J'ai essayé pratiquement tous les cloud traditionnels et il n'y a aucun problème, et il n'y a aucun problème avec le système. Il n'y a aucun fournisseur ou système cloud qui ne puisse pas être utilisé, et je dois trouver un autre logiciel. Les fonctions générales sont les suivantes :
    1. Gestion par lots de plusieurs hôtes cloud ;
    2. Forte compatibilité, compatible avec pratiquement tous les fournisseurs de cloud et systèmes d'exploitation du marché
    3. réparation, déploiement en un clic ;
    4. Vous pouvez vous connecter à distance au bureau FTP de l'hôte cloud et traiter les fichiers sur l'hôte cloud
    5. Vous n'avez pas besoin de le surveiller ;
    6. Fonction de réparation du système, c'est très pratique et nécessaire
    7. D'une manière générale, les fonctions sont assez complètes et il n'est pas nécessaire de trouver un autre logiciel. Un logiciel d'assistance cloud répond fondamentalement à tous les besoins.

      習慣沉默

      docker中的业务怎么拆,拆多细,实际上是个见仁见智的事情。

      例如gogs的docker容器,启动了如下几个东西:

      s6-svscan-+-s6-supervise |-s6-supervise---gogs |-s6-supervise---sshd `-s6-supervise---syslogd

      解释一下,一般容器启动如下东西:

      1. PID=1的init进程,一般用supervisord,有些人用s6,例如上文中提到的gogs。此进程主要用于进程保活,进程重启。 2. agent,一般用于监控,某些agent还有可能会被用于执行命令等,例如有些公司会在java容器内安插一个agent,在异常的时候可以执行jmap等操作。 3. 业务进程,一般附属于init进程。很少见到有直接把业务进程当做主进程(init进程)的情况。因为主进程(init进程)跪掉,docker就跪了。 4. 其他附属进程,例如上文中提到的gogs,会附属启动一个sshd。有些还会附属启动其他服务,例如syslogd。

      对于个人:

      举个栗子,gitlab 对于个人,完全可以为了方便,把gitlab的所需要的所有服务,都放进同一个docker。 包括: 1. nginx 2. sshd 3. mysql 4. gitlab(unicorn)

      但是实际上,生产环境中,不能这么做。

      至少,即便mysql不能托管给DBA,也不要放到同一个docker里,最次,也得做关联容器,mysql放在一个篮子里,gitlab放在另一个篮子里。

      从业务上来说,已经不是同一个东西了。

      从稳定性上来说,也不建议。

      这是使用docker的最底线的节操,不能再低了。

      别人怎么拆解gitlab的业务

        大家讲道理

        像marathon可以调度容器化服务的工具,有healthcheck功能,假如php-fpm挂了,healthcheck检查的是php-fpm端口,maraton会杀掉这个容器,重新起一个instance。
        假如所有进程都放一个容器里,虽然可以建立多个health,但是healthcheak之间or的关系,假如nginx和php-fpm都挂了,healthcheck还是通过的。
        也可以一个healthcheck通过nginx访问一个php页面,这样两个服务进程都检查到了。但是如果其中一个挂了了,对容器进程重启代价挺大的。

          曾经蜡笔没有小新

          比如一个应该有一个web应用, 和一个数据库组件,
          在web经常更新的情况下应该把两个分开, 如果稳定版, 可以用几年不更新的就放一起吧.

            Derniers téléchargements
            Plus>
            effets Web
            Code source du site Web
            Matériel du site Web
            Modèle frontal
            À propos de nous Clause de non-responsabilité Sitemap
            Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!