返回
Docker 部署 Node 应用程序和 Nginx 容器(二)
前端
2024-01-09 13:58:25
导言:
在前一篇文章中,我们为 Docker 容器化部署 Node.js 应用程序和 Nginx 容器奠定了基础环境。现在,让我们深入探究这些部署的具体步骤和技术细节。
Node.js 应用程序部署:
1. Dockerfile 配置:
创建一个名为 Dockerfile
的文件,内容如下:
FROM node:16
WORKDIR /usr/src/app
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "start"]
2. 构建镜像:
在项目目录下运行以下命令:
docker build -t node-app .
3. 运行容器:
docker run -d --name node-app node-app
Nginx 容器部署:
1. Dockerfile 配置:
创建名为 nginx-Dockerfile
的文件,内容如下:
FROM nginx:1.19
COPY nginx.conf /etc/nginx/nginx.conf
2. 准备 Nginx 配置:
在项目目录下创建 nginx.conf
文件,内容如下:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://node-app:3000;
}
}
3. 构建镜像:
docker build -t nginx-container -f nginx-Dockerfile .
4. 运行容器:
docker run -d --name nginx-container nginx-container
整合容器:
1. 配置 Docker Compose:
创建一个名为 docker-compose.yml
的文件,内容如下:
version: '3'
services:
node-app:
build: ./
container_name: node-app
ports:
- "3000:3000"
nginx-container:
build: ./nginx
container_name: nginx-container
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
ports:
- "80:80"
depends_on:
- node-app
2. 使用 Docker Compose 部署:
docker-compose up -d
测试部署:
1. 访问应用程序:
在浏览器中访问 http://localhost
,你应该看到 Node.js 应用程序的界面。
2. 验证反向代理:
检查应用程序的网络请求,确保它们通过 Nginx 反向代理发送到 Node.js 容器。
3. 终止容器:
docker-compose down