我是Docker的新手。使用Kitematic,如何设置包含以下内容的Docker容器?
Apache
,Memcached
,MySQL
,Nginx
,PHP FPM
我应该用所有这些找到一张图像吗?如果是这样,我如何在https://hub.docker.com上找到它?似乎无法通过上述要求进行过滤。
还是应该将它们作为单独的容器安装?
答案 0 :(得分:2)
巴特,
我对风筝疗法一无所知,但我可以为您提供一些一般信息,以帮助您解决问题。
一般共识是每个容器仅运行一个进程。关于这是好还是坏的原因,有很多讨论和信息,例如https://devops.stackexchange.com/questions/447/why-it-is-recommended-to-run-only-one-process-in-a-container。
也就是说,这些是我使用上述软件为环境选择的图像:
如何获取这些图像?我转到hub.docker.com并搜索所需的软件,然后从官方映像开始,看看它们是否满足我的需求。如果可以,那就太好了!否则,我会寻找非官方的映像,最终,如果找不到所需的映像,我将基于hub.docker.com
创建一个自定义映像,以扩展现有映像。关于最后一个PHP的更多解释。 PHP分发有多个标签。通过转到docker hub页面(“说明”选项卡),您可以看到受支持的标签。单击您感兴趣的标签将带您到托管Dockerfile的github存储库。该文件包含用于构建您正在研究的图像的命令。您可以检查所有标签,以查看哪个标签可以安装所需的软件。例如,有PHP标记安装了apache(即7-apache),还有一些标记安装了FPM(即7-fpm)。
希望这将有助于您研究使用哪些图像!
答案 1 :(得分:1)
您需要在同一个docker网络中运行这些映像,并使用docker-compose
这样的docker-compose.yml
(并与this one相关联)。
尽管Kinematic UI中的docker-compose支持仍然是open issue。
答案 2 :(得分:1)
您找不到所有这些容器作为一个图像。您所能做的就是创建一个docker-compose
文件,并将所有这些独立的图像添加到撰写文件中。
通过这种方式,您也可以将所有容器作为具有相关性的服务作为一个服务来处理。
有关更多信息,请参见https://docs.docker.com/compose/