84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
使用一个容器管理多个应用服务进程?还是每个服务进程创建一个容器?
各区别是?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
推荐服务器管理工具云帮手
推荐一款神器应该可以帮到你,云帮手是一款功能强大的全面集中化管理云主机软件。不仅是兼容Linux系统,Windows也是可以用的。实际上使用功能还是挺不错的,因为功能全面且安装简单,基本都是傻瓜式一键搞定,中间添加云主机的话,首次要添加探针,以后就基本可以在面板上操作了,这个是挺方便的。主流云那几个基本我都试过没问题,系统也没有问题,这个倒是挺省心的,不会说存在什么云商的或者系统的就用不了,又要另外找软件。大致功能如下:1.批量管理多台云主机;2.兼容性强大,兼容市面基本所有的云商云主机,兼容操作系统;3.操作简单,可视化界面预览资源、一键修复、一键部署;4. 可以远程登录云主机FTP桌面,处理云主机上的文件;5.监控和,资源还有告警功能,这个是挺好的,不用盯着看;6.系统修复功能,这个是挺实用也比较必须的;7.免费使用。总得来说功能还是挺全的,不存在需要又要另外找软件的尴尬,一个云帮手软件基本满足了所有需求。
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经常更新的情况下应该把两个分开, 如果稳定版, 可以用几年不更新的就放一起吧.
推荐服务器管理工具云帮手
推荐一款神器应该可以帮到你,云帮手是一款功能强大的全面集中化管理云主机软件。不仅是兼容Linux系统,Windows也是可以用的。实际上使用功能还是挺不错的,因为功能全面且安装简单,基本都是傻瓜式一键搞定,中间添加云主机的话,首次要添加探针,以后就基本可以在面板上操作了,这个是挺方便的。主流云那几个基本我都试过没问题,系统也没有问题,这个倒是挺省心的,不会说存在什么云商的或者系统的就用不了,又要另外找软件。大致功能如下:
1.批量管理多台云主机;
2.兼容性强大,兼容市面基本所有的云商云主机,兼容操作系统;
3.操作简单,可视化界面预览资源、一键修复、一键部署;
4. 可以远程登录云主机FTP桌面,处理云主机上的文件;
5.监控和,资源还有告警功能,这个是挺好的,不用盯着看;
6.系统修复功能,这个是挺实用也比较必须的;
7.免费使用。总得来说功能还是挺全的,不存在需要又要另外找软件的尴尬,一个云帮手软件基本满足了所有需求。
docker中的业务怎么拆,拆多细,实际上是个见仁见智的事情。
例如gogs的docker容器,启动了如下几个东西:
解释一下,一般容器启动如下东西:
对于个人:
但是实际上,生产环境中,不能这么做。
至少,即便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经常更新的情况下应该把两个分开, 如果稳定版, 可以用几年不更新的就放一起吧.