我是Docker的新手。使用 Kitematic,如何设置包含以下内容的 Docker 容器?
Apache
、Memcached
、MySQL
、Nginx
、PHP FPM
我应该找到一张包含所有这些的单一图像吗?如果是这样,我如何在 https://hub.docker.com 上找到它?似乎不可能按上述要求进行筛选。
还是我应该将它们作为单独的容器安装?
巴特,
我对kitematic 一无所知,但我可以给你一些一般信息来澄清事情。
一般而言,每个容器只运行一个进程。有很多关于为什么这是好是坏的讨论和信息,例如这样的讨论:https://devops.stackexchange.com/questions/447/why-it-is-recommended-to-run-only-one-process-in-a-container。
也就是说,这些是我会为具有上述软件的环境选择的图像:
- 内存缓存:https://hub.docker.com/_/memcached
- MySql: https://hub.docker.com/_/mysql
- 金克斯:https://hub.docker.com/_/nginx
- PHP FPM: https://hub.docker.com/_/php
如何获取这些图像?我去 hub.docker.com 搜索我想要的软件,然后我从官方图像开始,看看它们是否适合我的需求。如果他们这样做了,那就太好了!否则,我会寻找非官方图像,最终如果我找不到我想要的内容,我将通过创建自定义图像来扩展现有图像,基于 hub.docker.com
关于最后一个,PHP的更多解释。PHP 分发有多个标签。通过转到 docker 中心页面("描述"选项卡),您可以看到支持的标记。单击您感兴趣的标签将引导您进入托管 Dockerfile 的 github 存储库。此文件包含用于构建您正在研究的图像的命令。您可以检查所有标签,看看哪一个安装了您需要的软件。例如,有安装了 apache 的 PHP 标签(即 7-apache),也有安装了 FPM 的标签(即 7-fpm)。
希望这能帮助您研究使用哪些图像!
您需要在同一个 docker 网络中运行这些映像,很难像这样docker-compose
(并且docker-compose.yml
相关联)。
不过,Kinematic UI 中的 docker 撰写支持...仍然是一个悬而未决的问题。
你无法找到所有这些容器作为一个图像......你所能做的就是创建一个docker-compose
文件,并将所有这些独立的图像添加到撰写文件中。
这样,您就可以将所有容器作为服务处理在一个具有依赖项的单个容器中。
有关更多信息,请参阅 https://docs.docker.com/compose/