受限于node环境的苦恼,写了一个通用的docker-compose脚本。
作用:可灵活切换node版本,一件部署。
# 需要安装的node的版本
FROM node:14.19.1-alpine3.14
# 将当前目录(dockerfile和docker-compose.yml所在的目录)映射到容器中/www/webl目录下
ADD ./ /www/web
# 在容器中创建工作目录 /www/web
WORKDIR /www/web
version: '3.8' # docker-compose的版本
services:
node:
build:
context: . # 使用上下文为当前
dockerfile: DockerFile
volumes:
- ./:/www/web # 把本地目录挂载到虚拟机的/www/web/下
command: sh -c "cd /www/web && npm install && npm start" # 开发调试用npm start,部署改为npm run build
ports:
- "13001:3000" # 端口映射自定义,13001是宿主机端口,3000是Vue、react的端口
stdin_open: true # 启用输入
# 在工作目录下(DockerFile和docker-compose.yaml所在目录),执行
# 后台启动
docker-compose up -d
# 查看日志
docker-compose logs -f