docker入坑指南(四)

记录一下docker 部署前端的方法。
按常规的方法拉取nginx镜像,我用的是nginx1.12.1,直接用的原生镜像。。。
然后把前端发布好的代码上传到服务器。
接着生成并且nginx运行容器。
docker run --name hnnginx -p 5121:80 -v /HNDataCentorDist/dist/:/HNDataCentorDist/dist/ -v /HNDataCentorDist/config/default.conf:/etc/nginx/conf.d/default.conf -v /HNDataCentorDist/log/:/var/log/nginx/ -d nginx:1.12.1

命令解释:
-v /HNDataCentorDist/dist/:/HNDataCentorDist/dist/ /HNDataCentorDist/dist/是上传前端发布文件的文件夹,-v · 是把这个文件夹挂载到容器内部。
-v /HNDataCentorDist/config/default.conf:/etc/nginx/conf.d/default.conf 因为用的是原生镜像,所以default.conf可以直接挂载到nginx容器中

下面把default.config的配置贴出来

server {
    listen       80;  #监听的端口
    server_name  localhost; #服务器地址

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        try_files $uri $uri/ /index.html;
        #root   /usr/share/nginx/html;
        root   /HNDataCentorDist/dist; #前端文件目录(要跟你挂载的前端目录一致)
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location /api {
         proxy_pass   http://172.17.0.82:9198; #后台端口的地址
    }
    #文件下载路径
   location /download {
         add_header  Content-Type    "application/octet-stream";
            if ( $args ~ ^filename=(.*) ) {
                add_header  Content-Disposition "attachment; filename=$1";
            }
        alias  /HNDataCentorDist/template;
        autoindex on;
    }

docker默认的对外端口是80,一开始的时候设置的监听是别的端口,但是这个端口一直无法对外访问,无奈之下改回80端口才可以,至于具体原因暂时没有时间研究。
然后就是后台端口的地址,后台程序是另外一个容器。这个端口的地址就设置为后台容器的地址和端口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值