加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

了解Docker最佳实践并运行Web服务器

发布时间:2020-12-16 03:24:54 所属栏目:安全 来源:网络整理
导读:我处于在单个容器中运行简单的PHP7.0,Redis和NGINX服务器的情况. 这意味着我将php7.0-fpm和ngxinx和redis作为服务运行. 但是在最佳实践中,我正在阅读: # Run only one process per containerIn almost all cases,you should only run a single process in a

我处于在单个容器中运行简单的PHP7.0,Redis和NGINX服务器的情况.

这意味着我将php7.0-fpm和ngxinx和redis作为服务运行.

但是在最佳实践中,我正在阅读:

# Run only one process per container
In almost all cases,you should only run a single process in a single container.
Decoupling applications into multiple containers makes it much easier to scale horizontally and reuse containers.
If that service depends on another service,make use of container linking.

这是否意味着最好在PHP7.0和应用程序中运行一个容器,而在Nginx和Redis中运行另一个容器?

最佳答案
@nwinkler在评论中是正确的,推荐是好的.将应用程序解耦到多个容器中的几个优点是:

>建立时间

的确,如果未发生更改,则docker会进行哈希检查并且不构建映像的层,但这仅限于层结构(如果X层发生更改,则将构建X之上的所有层).这意味着当图像开始变大时,它将开始变得痛苦.

>容器是隔离的

当您连接到ngxinx时,您可以确定您所做的任何更改都不会引起php容器中的更改,并且这始终是一个好习惯.

>可扩展性

您还需要十个Redis,好的,让我们再运行十个Redis容器.

通常,在任何情况下,我都会为基础映像选择一个dockerfile,在您的情况下,这就是您的三个容器(php,redis和nxginx)共享的所有容器(第三方库,工具等).然后三个dockerfile用于构建每个映像.然后是bash或docker-compose.yml脚本,用于在容器内运行图像.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读