【发布时间】:2017-07-21 05:38:51
【问题描述】:
所以,问题来了,我需要进行一些开发,为此我需要以下软件包:
- MongoDb
- NodeJs
- Nginx
- RabbitMq
- Redis
一种选择是我获取一个 Ubuntu 映像,创建一个容器并开始一个一个地安装它们并完成,启动我的服务器,并公开端口。
但这也可以在虚拟盒子中轻松完成,并且不会使用 Docker 的强大功能。因此,为此我必须开始使用这些包构建我自己的图像。现在的问题是,如果我开始编写我的 Dockerfile,并且如果在其中放置下载 Node js(和其他)的命令,这又变成了与虚拟化相同的东西。
我需要的是从Ubuntu开始并继续添加 MongoDb、NodeJs、RabbitMq、Nginx的引用和 Redis 在 Dockerfile 中,最后将各自的端口暴露出来。
以下是我的疑问:
- 这可能吗?就像从一个基础镜像开始时在 Dockerfile 中添加其他镜像的引用一样。
- 如果是,那怎么办?
- 这也是正确的做法吗?
- 如何在 Docker 中做这些事情?
提前致谢。
【问题讨论】:
-
您将使用 docker-compose 获取单个服务映像并创建一组容器。 compose 文件将定义这组图像如何相互连接以及与外部世界连接。
-
谢谢@tillaert will;看看它。
标签: docker dockerfile