我是Docker的新手,对使用这个--volumes-from功能感到很兴奋,但有一些我不理解的东西.
如果我想使用--volumes-from两个仅数据的容器,每个容器导出命名的卷/srv,如何防止卷路径冲突?我可以在创建绑定装载时使用映射卷名称[host-dir]:[container-dir]; 我该怎么做--volumes-from?
所以我想要的东西会是这样的:
docker run --name=DATA1 --volume=/srv busybox true
docker run --name=DATA2 --volume=/srv busybox true
docker run -t -i -rm --volumes-from DATA1:/srv1 --volumes-from DATA2:/srv2 ubuntu bash
Run Code Online (Sandbox Code Playgroud) 网络上至少有十几个关于如何使用 Docker 设置 Laravel 应用程序的教程。他们都使用的基本设置是 3 个 Docker 容器:
Nginx 和 PHP-fpm 容器依赖于共享卷。HTTP 请求进入 Nginx 以获取共享卷上的文件。Nginx 将请求交给 PHP-fpm。Php-fpm 还可以访问共享卷中的文件,因此它可以运行脚本。
对于开发来说,这太棒了。我可以编辑共享卷中的文件并立即测试更改。但我在质疑我是否希望将其用于生产。我真的希望我的任何代码都在运行 Docker 的服务器上吗?这似乎首先违背了 Dockerising 的一些目的。似乎我希望代码在运行 nginx 和 PHP-fpm 的 Docker 容器中自包含(数据库可以是托管环境中的单独容器或服务)。
我的想法在这里正确吗?在 Docker 中部署 Laravel 进行生产的最佳实践是什么?