vue.js项目部署到服务器docker容器上

vue.js项目部署到服务器docker容器上

网上看到大部分都是使用nginx镜像通过反向代理进行部署,但是我试过很多遍都没有部署成功,后面使用了node镜像部署。总结一下我使用node部署的步骤,如下:

我这里vue项目名为bigdata,是通过远程服务器的docker进行部署,保存的目录在/root/vue/下

1、把项目bigdata通过xftp传到/root/vue目录下
在这里插入图片描述
2、拉取node镜像

#下载node镜像
docker pull node:alpine
#查看镜像
docker images

在这里插入图片描述
3、进入bigdata目录

cd /root/vue/bigdata

4、运行镜像容器并挂在到bigdata目录,便于打包环境

docker run --name vue -itd -v /root/vue/bigdata:/root/vue/bigdata -p 8000:8000 node:alpine

#--name 是设置容器的名称,这里是vue
# -p 端口映射,外部端口:内部端口

在这里插入图片描述
5、进入vue容器,然后进入bigdata目录

docker exec -it vue sh   #vue是容器名
cd /root/vue/bigdata

在这里插入图片描述
6、运行之前查看有没有安装npm和node,可通过查看版本

node  -v   
npm  -v

在这里插入图片描述
7、没问题之后,在这个目录下运行vue项目

npm run dev

启动监听成功,端口8000

在这里插入图片描述
正常访问的ip是http://localhost:8000,内部服务器就可以访问,但是外部会访问不了,原因有两种情况:
第一种:访问地址、端口与服务器没有做映射
第二种:做了地址映射也访问不了,是因为node在docker里面没办法解析localhost的域名

解决方法:(前提是已经做了地址映射)

1、在bigdata项目的index.js文件,修改host为0.0.0.0

在这里插入图片描述
2、重新上传改好的项目,覆盖掉原来的项目
3、需要停止掉原来的创建的容器,然后删除旧的容器

#停止容器
docker stop vue
#删除容器
docker rm vue

4、重新创建容器,运行,步骤上面已有
在这里插入图片描述
5、如果出现以上报错:Permission denied的权限问题
执行下面两条命令

npm install webpack -g
npm install webpack-dev-server -g

在这里插入图片描述
6、运行

npm run dev

在这里插入图片描述
这样就可以通过ip+8000端口访问vue项目了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 准备工作 在服务器上安装dockerdocker-compose,具体安装方法可以参考官方文档。 2. 创建项目文件夹 在服务器上创建一个用于存放vue项目的文件夹,例如:`/home/vue-project/`。 3. 编写docker-compose文件 在项目文件夹中创建一个名为`docker-compose.yml`的文件,并编写以下内容: ``` version: '3' services: web: image: node:latest ports: - "8080:8080" volumes: - ./app:/app working_dir: /app command: "npm run dev" ``` 这个docker-compose文件定义了一个名为`web`的服务,使用最新版本的Node.js镜像,将本地的`./app`目录挂载到容器的`/app`目录,将容器的8080端口映射到主机的8080端口,最后在容器中执行`npm run dev`命令。 4. 编写Dockerfile文件 在项目文件夹中创建一个名为`Dockerfile`的文件,并编写以下内容: ``` FROM node:latest RUN mkdir /app WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 8080 CMD [ "npm", "run", "dev" ] ``` 这个Dockerfile定义了一个基于Node.js镜像的Docker镜像,将容器的工作目录设置为`/app`,将本地的`package*.json`文件复制到容器中并执行`npm install`命令安装依赖,将本地的所有文件复制到容器中,将容器的8080端口暴露出来,最后在容器中执行`npm run dev`命令。 5. 构建镜像 在项目文件夹中运行以下命令构建镜像: ``` docker build -t vue-project . ``` 6. 启动容器 在项目文件夹中运行以下命令启动容器: ``` docker-compose up -d ``` 7. 访问应用 在浏览器中访问服务器的IP地址和端口号,例如:`http://<server_ip>:8080`,即可访问应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值