Contoso Pizza 有两个服务,他们希望将这些服务组合在一起,作为一个单元进行生成和部署。 他们已决定使用 Docker Compose 作为其工具。
在此练习中,你将创建 Docker Compose YAML 文件,然后使用 Docker Compose 实用工具生成 Docker 容器映像并运行它们。
创建 docker-compose 文件
使用 Visual Studio Code 打开克隆的 mslearn-dotnetmicroservices 文件夹。
在最顶层的文件夹(与 README.md 相同的文件夹)中,打开名为 docker-compose.yml 的文件。 此文件将为空。
将以下代码添加到 docker-compose.yml 文件:
version: '3.4'
services:
frontend:
image: pizzafrontend
build:
context: frontend
dockerfile: Dockerfile
environment:
- backendUrl=http://backend
ports:
- "5902:80"
depends_on:
- backend
backend:
image: pizzabackend
build:
context: backend
dockerfile: Dockerfile
ports:
- "5000:80"
此代码执行几项操作:
首先,它会创建前端网站,将其命名为 pizza frontend。 该代码指示 Docker 生成该网站,并指向在“前端”文件夹中找到的 Dockerfile。 然后代码会为网站设置环境变量:backendUrl=http://backend
。 最后,此代码会打开一个端口,并声明它依赖于后端服务。
接下来将创建后端服务。 它被命名为 pizzabackend。 它是通过你在上一个练习中创建的同一 Dockerfile 构建的。 最后一个命令指定要打开的端口。
若要生成容器映像,请打开命令提示符,并导航至 docker-compose.yml 文件所在的目录,然后运行以下命令:
docker-compose build
接着,若要启动网站和 Web API,请运行以下命令:
docker-compose up
在产生一些输出后,网站和 Web API 将会运行。 应会看到类似于下面的输出:
Attaching to docker-aspnet-pizza_backend_1, docker-aspnet-pizza_frontend_1
可以浏览到 http://localhost:5902 以查看 Contoso Pizza 菜单。
在本练习中,你了解了如何创建和编写 Docker Compose 文件、构建其中包含的服务以及运行这些服务。