Docker 是一种流行的容器化引擎,可以通过将程序打包为容器来实现快速部署。
一个 Docker 容器可以运行一个程序,但是有时候我们需要同时运行多个程序,这时候就需要使用 Docker 的多容器功能。
多容器功能可以通过 Docker Compose 来实现。Docker Compose 可以定义多个容器以及它们之间的依赖关系,从而可以一次性启动多个容器。
下面是一个使用 Docker Compose 同时运行 Nginx 和 Node.js 服务的示例:
version: '3'
services:
web:
build: ./nginx
ports:
- "80:80"
depends_on:
- api
api:
build: ./node
ports:
- "3000:3000"
在这个示例中,我们定义了两个服务:web 和 api。web 服务使用了一个名为 nginx 的镜像,并将容器的 80 端口映射到宿主机的 80 端口。api 服务使用了一个名为 node 的镜像,并将容器的 3000 端口映射到宿主机的 3000 端口。
在 web 服务中,我们使用了 depends_on 属性来定义它依赖于 api 服务。这样,在启动 web 服务之前,Docker Compose 将先启动 api 服务。
可以使用以下命令启动这个示例:
docker-compose up
这会根据 Docker Compose 文件启动两个容器。在启动后,可以通过浏览器访问 localhost:80 来访问 Nginx 服务,通过 localhost:3000 来访问 Node.js 服务。