[Docker]四.Docker部署nodejs项目,部署Mysql,部署Redis,部署Mongodb
以下是一个简化的Docker部署Node.js项目的示例,包括使用Docker Compose部署Mysql、Redis和MongoDB服务。
首先,创建一个docker-compose.yml
文件,用于定义服务:
version: '3'
services:
nodejs-app:
build:
context: .
dockerfile: Dockerfile
ports:
- "3000:3000"
environment:
- MYSQL_HOST=mysql
- REDIS_HOST=redis
- MONGO_URL=mongodb://mongodb/mydb
depends_on:
- mysql
- redis
- mongodb
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: mydb
redis:
image: redis:alpine
mongodb:
image: mongo:4.2
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
然后,创建一个Dockerfile来构建Node.js应用的Docker镜像:
FROM node:14
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
最后,确保你的Node.js项目包含package.json
和应用的启动文件,如server.js
。
在包含这两个文件的目录中运行以下命令来启动服务:
docker-compose up --build
这将启动Node.js 应用、MySQL、Redis和MongoDB服务。你的Node.js应用将能够连接到这些数据库服务,因为它们都在同一个Docker网络上,并且使用服务名作为主机名。
评论已关闭