了解Docker最佳实践并运行Web服务器
我处于在单个容器中运行简单的PHP7.0,Redis和NGINX服务器的情况. 这意味着我将php7.0-fpm和ngxinx和redis作为服务运行. 但是在最佳实践中,我正在阅读:
这是否意味着最好在PHP7.0和应用程序中运行一个容器,而在Nginx和Redis中运行另一个容器? 最佳答案
@nwinkler在评论中是正确的,推荐是好的.将应用程序解耦到多个容器中的几个优点是:
>建立时间 的确,如果未发生更改,则docker会进行哈希检查并且不构建映像的层,但这仅限于层结构(如果X层发生更改,则将构建X之上的所有层).这意味着当图像开始变大时,它将开始变得痛苦. >容器是隔离的 当您连接到ngxinx时,您可以确定您所做的任何更改都不会引起php容器中的更改,并且这始终是一个好习惯. >可扩展性 您还需要十个Redis,好的,让我们再运行十个Redis容器. 通常,在任何情况下,我都会为基础映像选择一个dockerfile,在您的情况下,这就是您的三个容器(php,redis和nxginx)共享的所有容器(第三方库,工具等).然后三个dockerfile用于构建每个映像.然后是bash或docker-compose.yml脚本,用于在容器内运行图像. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |