首页 > 解决方案 > dockerize mysql 网络应用程序

问题描述

我正在尝试对接一个连接到 mysql 数据库的 node.js Web 应用程序。刚开始使用docker。似乎无法在网上找到任何关于如何配置的明确答案。我知道我需要使用“docker-compose.yaml”文件并使用 docker-compose。但不确定需要在 yaml 文件中输入哪些信息。

node.js 应用程序和 mysql 服务器都位于本地机器上,同一台机器运行 docker。

数据库名称是“员工”

这是我遇到的一个例子。但不确定它应该相对于 Web 应用程序放置在哪个目录中。另外,不确定我是否应该在某处列出数据库名称。

version: '3'
services:
  web-app:
    build:
      context: .
      dockerfile: web-app/Dockerfile
      ports:
      - 8080:8080
    links:
      - app-db

app-db:
    build:
      context: .
      dockerfile: app-db/Dockerfile

    environment:
    - MYSQL_ROOT_PASSWORD=password
    - MYSQL_DATABASE=Optimize
    ports:
      - 3306:3306

最后,容器应该如何构建?它是 Web 应用程序和数据库的 2 个独立容器,还是它们可以在同一个容器中?

标签: mysqlnode.jsdockerdocker-compose

解决方案


你根本没有明确的想法:)

让我们从头开始:容器应该如何构建?

同一个网络上绝对有两个独立的容器(链接);您必须了解每个容器都必须按其职责分开。在这里,我们将业务逻辑放在一个容器中,将数据库放在另一个容器中。

现在,您应该在使用 docker-compose 之前了解 docker 的工作原理;因此,请按照本教程进行操作,如果仍有问题,请返回: https ://medium.com/@niratattri/building-a-node-js-application-and-deploying-through-docker-meet-docker-aa8ae677ea12


推荐阅读