如何使用Docker Compose运行并发应用程序
#vue #node #docker #组成

在现代软件开发中,同时部署后端和前端组件对于无缝的应用程序交付是必需的。多年来,运行后端和前端软件都涉及使用不同的服务,这有时可以降低软件生产率和维护。

在本教程中,您将学习如何使用Docker Compose运行并发后端应用程序。通过阅读本教程,我认为您在计算机上安装了Docker,并且具有Docker的基本知识。

什么是Docker撰写?

Docker Compose是一种用于定义和管理多容器Docker应用程序的工具。它允许开发人员描述一个复杂的应用程序设置,该设置由简单的声明性yaml(又是另一个标记语言)文件组成的多个服务,网络和卷。
使用Docker Compose,您可以定义应用程序需求的服务,指定应如何连接并配置其各个设置。这些服务可以通过Docker Images构建,也可以利用公共或私人注册机构的预先存在的图像。

设置应用程序

为了演示我们如何使用Docker Compose同时运行应用程序,我们将克隆一个GitHub项目,该项目包含使用Node.js构建的后端应用程序以及使用Vue.js构建的前端应用程序

要克隆应用程序,请打开终端并运行以下命令。

git clone https://github.com/popoolatopzy/tutorial

克隆应用程序后,您会注意到教程文件夹分为两个部分:后端,即节点应用程序,而前端,即VUE应用程序。
要在终端上安装应用程序的所有必要依赖性,请导航到后端和前端文件夹并分别运行以下命令:

cd tutorial
npm install

安装了应用程序的所有所需依赖项后,请在代码编辑器中打开项目文件夹。

后端Dockerfile配置

Dockerfile包含有关如何构建Docker映像的特定指令。它定义了Docker容器的环境,依赖关系和配置。

在您的应用程序工作目录中,您必须设置应用程序环境,安装必要的依赖项并配置应用程序。在后端文件夹中,创建没有扩展名的DockerFile,然后将以下代码添加到文件:

FROM node:alpine
WORKDIR /backend/
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "node", "app.js" ]

上面的Dockerfile基于Alpine Linux分发设置了Node.js环境,安装package.json中指定的依赖项。使用NPM安装,将应用程序代码和文件复制到工作目录中,揭露端口3000,并执行App App App启动容器时使用节点命令的.js文件。
您可以通过运行以下Docker build命令来测试上述Docker代码。

docker build -t backend .

构建Docker映像后,使用下面的命令运行Docker映像,并且后端应用程序将启动并运行。

docker run -p 3000:3000 backend 

前端dockerfile配置

要使用Docker运行该应用程序,您还需要在应用程序的前端文件夹中创建一个Dockerfile。为此,请导航到前端文件夹内的SRC文件夹,创建一个Dockerfile文件(没有扩展名),然后添加以下代码。

# Use an official Node.js runtime as the base image
FROM node:alpine
RUN npm install -g http-server
# Set the working directory in the container
WORKDIR /frontend
COPY package*.json ./
# Install the application dependencies
RUN npm install
# Copy the entire application to the container
COPY . .
RUN npm run build
EXPOSE 8080
CMD [ "http-server", "dist" ]

上面的Dockerfile设置了前端应用程序(VUE)的容器化环境,安装依赖项,构建应用程序,公开port 8080并运行HTTP服务器,以从dist目录中使用HTTP服务器。

>

运行以下Docker构建命令,以测试上述Docker代码正确。

docker build -t frontend .

接下来,运行下面的命令以启动Docker映像,并且应用程序将启动并运行。
创建docker-compose.yml文件
到目前为止,您为后端和前端应用程序创建了一个Docker映像,然后运行Docker Run命令分别启动应用程序。有时管理多个Docker容器可能很难。使用Docker Compose,您可以使用Docker-Compose.yml。

A docker-compose.yml file is a YAML (YAML Ain't Markup Language) configuration file used by Docker Compose, a tool for defining and running multi-container applications.
在应用程序根目录中,创建一个docker-compose.yml文件并添加以下配置。

version: "3"
services:
  backend:
    build:
      context: ./backend
      dockerfile: Dockerfile
    ports:
      - 3000:3000
  frontend:
    build:
      context: ./frontend
      dockerfile: Dockerfile
    ports:
      - 8080:8080

Docker构成的配置代表一个包括后端服务和前端服务的多容器应用程序。让我们分解一下:

version:“ 3”指定使用中的docker的版本。
services:定义应用程序中的服务。在这种情况下,有两种服务:后端和前端。
build:指定每个服务的构建配置。
context./backend./frontend将构建上下文设置为包含源代码和dockerfile的各个目录,用于构建每种服务。
Dockerfile:Dockerfile指定用于构建每个服务的Dockerfile的名称。
端口:为每个服务配置端口映射,允许从主机计算机上访问容器上指定的端口。

运行应用程序

完成Docker-compose.yml配置后,所有人都设置为使用Docker Compose运行到应用程序。您需要使用下面的命令运行构建命令。

docker compose build

使用Compose构建Docker映像后,您需要使用以下命令启动两个应用程序容器:
Docker构成
现在您显示您的两个服务器启动并运行。

结论

在本教程中,您学会了如何开发多个同时运行的服务。您能够同时使用docker compose。

Docker Compose是一种强大的工具,使开发人员能够同时运行多个应用程序。通过在YAML文件中定义服务及其依赖关系,开发人员可以在容器化的环境中轻松旋转和管理其应用程序。这种方法提供了许多好处,包括简化的开发工作流程,有效的资源利用以及在不同环境中的一致部署。