要使用 Docker Compose 发布一个 Node.js 项目,你可以按照以下步骤进行配置:
1. 创建 Dockerfile
在你的项目根目录下创建一个 Dockerfile
。这个文件定义了如何构建你的 Node.js 项目镜像。以下是一个示例 Dockerfile
:
# 使用官方 Node.js 镜像作为基础镜像
FROM node:14
# 设置工作目录
WORKDIR /app
# 复制 package.json 和 package-lock.json(如果有)到工作目录
COPY package*.json ./
# 安装项目依赖
RUN npm install
# 复制项目文件到工作目录
COPY . .
# 暴露端口
EXPOSE 8080
# 启动项目
CMD ["npm", "start"]
2. 创建 docker-compose.yml
在项目的根目录下创建 docker-compose.yml
文件,用于定义 Docker Compose 配置。示例如下:
version: '3.8'
services:
nodejs-app:
build: .
container_name: nodejs_web_container
ports:
- "8080:8080"
volumes:
- .:/app
environment:
- NODE_ENV=production
3. 运行 Docker Compose
在项目根目录下运行以下命令来启动 Docker Compose:
docker-compose up --build
4. 访问应用
在浏览器中访问 http://localhost:8080
,你应该能够访问 Node.js 应用的页面。
5. 常用 Docker Compose 命令
- 启动服务:
docker-compose up
或者docker-compose up -d
(后台运行)。 - 停止服务:
docker-compose down
。 - 重建服务:
docker-compose up --build
。 - 查看日志:
docker-compose logs
或者docker-compose logs -f
(实时日志)。
目录结构示例
确保你的项目目录结构类似如下:
/your-project
│
├── Dockerfile
├── docker-compose.yml
├── package.json
├── package-lock.json (可选)
├── server.cert
├── server.key
└── ...
这样,你就可以通过 Docker Compose 将 Node.js 项目进行容器化发布了。如果需要更多的自定义配置,可以根据你的项目需求修改 Dockerfile
和 docker-compose.yml
文件。