dockerize mysql web应用程序

wljmcqd8  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(306)

我正在尝试dockerize一个连接到mysql数据库的node.js web应用程序。刚开始用docker。似乎找不到任何明确的答案如何配置这个在线。我知道我需要使用“docker compose.yaml”文件并使用docker compose。但不确定需要在yaml文件中输入什么信息。
node.js应用程序和mysql服务器都位于本地计算机上,同一台计算机运行docker。
数据库名为“staff”
这是我遇到的一个例子。但不确定它相对于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应用和数据库是两个独立的容器,还是在同一个容器中?

wr98u20j

wr98u20j1#

你根本没有明确的想法:)
让我们从头开始:容器应该如何构造?
同一网络上绝对两个独立的容器(链接);你必须明白,每个容器都必须按其责任分开。这里我们将业务逻辑放在一个容器中,数据库放在另一个容器中。
现在,您应该在使用docker compose之前就了解docker的工作原理;因此,如果您仍然有问题,请遵循本教程并返回:https://medium.com/@niratattri/building-a-node-js-application-and-deploying-through-docker-meet-docker-aa8ae677ea12部署

olqngx59

olqngx592#

我完全同意前面的回答。docker是应用程序级的。因此,每个实体都应该在一个单独的容器中运行。确保你接触到这项技术,并尝试将你的所有服务分离在一个单独的容器中。
但是,您还有其他选择,比如设置vm、lxc或jails。实际上,要接触集装箱运输,我建议先和lxc联系。

相关问题