docker 部署前端Vue项目

目录

1.创建vue项目并编译打包

2.编写dockerfile

3.构建镜像

4.上传制品库(没有制品库可忽略)

5.从制品库拉取镜像(没有制品库可忽略)

6.运行容器

7.验证


1.创建vue项目并编译打包

编译打包 

npm install

npm run build

在dist目录即可看到编译之后打包的文件

注意

添加vue项目上下文

vue.config.js中添加 publicPath

module.exports = {

  transpileDependencies: ["uview-ui"],

  publicPath: "/hello/"

};

manifest.json中添加应用名name

{

    "name": "hello",

    "appid": "",

    "description": "",

    "versionName": "1.0.0",

    "versionCode": "100",

....

2.编写dockerfile

FROM xxxx.xxxx/nginx:1.12
COPY hello /usr/share/nginx/html/hello
COPY default.conf /etc/nginx/conf.d/default.conf

Dockerfile说明

FROM xxxx.xxxx/nginx:1.12

基于nginx构建镜像,将vue部署到nginx中。

COPY hello /usr/share/nginx/html/hello
COPY default.conf /etc/nginx/conf.d/default.conf

复制vue资源以及nginx配置到容器里,hello文件夹里是编译打包后的文件,注意需要给hello文件夹授权   chmod 777  -R hello    不然会出现无法403无法访问的情况


default.conf内容

server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        access_log  /var/log/nginx/host.access.log  main;
        error_log  /var/log/nginx/error.log  error;

        location / {
                root  /usr/share/nginx/html;
                index  index.html index.htm;
        }

        location ^~ /api/(.*)$ {
                proxy_set_header Host $host;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_pass   http://xxxx:8080/$request_uri;

        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   html;
        }
}

3.构建镜像

docker build -t hello .

 注意 . 表示当前目录,不可省略

构建完成之后可以使用docker images查看

4.上传制品库(没有制品库可忽略)

4.1打成满足要求的tag

docker tag 7649021c873e xxxx.xxxx/ng-hello:v1

4.2 上传到制品库

​
docker push xxxx.xxxx/ng-hello:v1

5.从制品库拉取镜像(没有制品库可忽略)

docker pull docker push xxxx.xxxx/ng-hello:v1

6.运行容器


docker run                                 #运行一个容器
    --name hello                          #设置容器名称
    -p 80:80                 #映射主机和容器内的端口
    -d                                                #后台运行
    xxxx.xxxx/ng-hello:v1

7.验证

  浏览器输入 http://xxx.xxxx/hello

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值