docker 部署 node mysql
时间: 2024-12-29 08:23:23 浏览: 4
### 使用 Docker Compose 部署 Node.js 和 MySQL
为了使用 Docker Compose 同时部署 Node.js 应用程序和 MySQL 数据库,需要创建 `docker-compose.yml` 文件来定义服务及其配置。此方法简化了多容器应用的设置过程[^1]。
#### 创建项目结构
建议按照如下方式构建项目目录:
```
myapp/
├── app/
│ ├── package.json
│ └── server.js
└── docker-compose.yml
```
其中 `app/` 目录包含了 Node.js 应用所需的所有文件。
#### 编写 `docker-compose.yml`
以下是适用于上述项目的 `docker-compose.yml` 示例配置:
```yaml
version: '3'
services:
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: mydb
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
- db_data:/var/lib/mysql
web:
build: ./app
command: npm start
ports:
- "3000:3000"
depends_on:
- db
environment:
DB_HOST: db:3306
volumes:
db_data:
```
这段 YAML 文档描述了一个由两个服务组成的网络:一个是基于官方 MySQL 映像启动的服务;另一个是从本地应用程序上下文中构建镜像并运行的应用服务器。这里还指定了端口映射以及环境变量传递给各个容器实例。
#### 构建与运行
完成以上步骤之后,在命令行工具中进入包含 `docker-compose.yml` 文件所在的根目录执行下面这条指令即可一键启动整个系统:
```bash
docker-compose up --build
```
这会自动下载所需的 Docker 镜像(如果尚未存在),编译 Node.js 应用,并最终启动所有必要的服务。
阅读全文