快上网建站品牌

13518219792
  • 首页
  • 关于我们
    • 如何选择
    • 选择理由
  • 案例作品
    • 网站建设
    • 优化推广
    • 微信开发
    • 电商托管
  • 服务项目
    • 网站建设
    • 移动端/APP
    • 微信/小程序
    • 技术支持
    • 其它服务
  • 建站知识
    • 成都网站建设
    • 成都做网站
    • 成都网站设计
  • 网站售后
    • 成都网站运营
    • 成都网站维护
    • 成都网站推广
  • 客服中心
  • 全国分站

如何利用docker-compsoe部署前后端分离的项目-创新互联

这篇文章主要介绍如何利用docker-compsoe部署前后端分离的项目,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联自2013年起,先为海城等服务建站,海城等地企业,进行企业商务咨询服务。为海城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

开始动手

其实我也是才开始了解docker的。所以有很多不明白的地方,例如在docker里面,是通过image生成一个container,那么这个container,就可以当作是一个独立的系统,这个系统也就有自己独立的端口。那么就像我们刚刚那样的需求,假设我们的前端在 container1 里面暴露80端口,同时映射到宿主机的80端口,后端在 container2 里面暴露3000端口,同时映射到宿主机的3000端口。那我们反向代理请求的时候,是通过宿主机来反向代理呢,还是通过container来实现呢?我在网上查阅并学习了很多其他大佬的文章,还有官网的文档。发现直接通过container就可以实现这种需求。为什么呢?因为docker-compose,会将所有的container构建在同一网络下,我们要找其他container,我们只需通过docker-compose里面的 service name 即可找到。 下面先来看看我们的目录:

vueMusic
 ├─ .git
 ├─ .gitignore
 ├─ LICENSE
 ├─ README.md
 ├─ babel.config.js
 ├─ dist
 ├─ docker-compose.yml
 ├─ docs
 ├─ nginx.conf
 ├─ package-lock.json
 ├─ package.json
 ├─ public
 ├─ server
 ├─ src
 └─ vue.config.js

dist是我们的前端项目,server是我们的后端项目。 下面再来看看我们的 docker-compose.yml :

version: '3'
 services:
 music-web: #前端项目的service name
   container_name: 'music-web-container' #容器名称
   image: nginx #指定镜像
   restart: always
   ports:
   - 80:80
   volumes: 
   - ./nginx.conf:/etc/nginx/nginx.conf #挂载nginx配置
   - ./dist:/usr/share/nginx/html/  #挂载项目
   depends_on:
   - music-server
 music-server:  #后端项目的service name
   container_name: 'music-server-container'
   build: ./server #根据server目录下面的Dockerfile构建镜像
   restart: always
   expose:
   - 3000

可以看见,我们通过 volumes 属性将宿主机的 nginx.conf 挂载到容器内的nginx配置文件,用来覆盖原有的配置文件,同时也将 dist 挂载到容器内。我们将前端项目的容器暴露并映射给宿主机的80端口,我们将后端项目的容器暴露3000端口。那么我们在哪里实现反向代理请求呢?请看 nginx.conf :

#user nobody;
 worker_processes 1;
 events {
   worker_connections 1024;
 }
 http {
   include    mime.types;
   default_type application/octet-stream;
   sendfile    on;
   #tcp_nopush   on;
   #keepalive_timeout 0;
   keepalive_timeout 65;
   #gzip on;
   gzip on;
   gzip_min_length 5k;
   gzip_buffers   4 16k;
   #gzip_http_version 1.0;
   gzip_comp_level 3;
   gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
   gzip_vary on;
   server {
     listen 80;
     server_name www.xieyezi.com;
     #音乐app项目
     location / {
     index index.html index.htm;  #添加属性。 
     root /usr/share/nginx/html;  #站点目录
     }
     #音乐app项目设置代理转发
     location /api/ {
     proxy_pass http://music-server:3000/;
     }
     error_page  500 502 503 504 /50x.html;
     location = /50x.html {
       root  /usr/share/nginx/html;
     }
   }
 }

可以看上面的 proxy_pass http://music-server:3000/; 。其中 music-server 是我们后端项目的服务名,我们通过服务名来找到这个容器,这样就实现了反向代理。

以上是“如何利用docker-compsoe部署前后端分离的项目”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


网页标题:如何利用docker-compsoe部署前后端分离的项目-创新互联
链接分享:http://gydahua.com/article/cdjogs.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

其他资讯

  • android关闭省电 安卓省电模式一直开着好吗
  • mysql数据表怎么做 mysql数据库怎么做
  • 注册ios开发者付款 apple开发者注册
  • android司机端 司机端app下载安
  • css清除层样式 css清除所有样式

行业动态

企业网站建设的重要性!

现在虽然是移动互联网时代,但企业网站依然重要,包含PC站点,移动站。可以说企业网站关系企业的未来发展和前途,尤其对中小企业更是如此,一些中小企业老板,对自己的名片很在乎,因为这是个门面。...

服务项目

  • 网站建设

    查看详情
  • 移动端/APP

    查看详情
  • 微信/小程序

    查看详情
  • 技术支持

    查看详情
  • 其它服务

    查看详情
  • 更多服务项目

    用我们的专业和诚信赢得您的信赖,从PC到移动互联网均有您想要的服务!

    获取更多

联系吧 在百度地图上找到我们

电话:13518219792

如遇占线或暂未接听请拨:136xxx98888

业务咨询 技术咨询 售后服务
网站设计
企业网站设计
成都网站设计
手机网站设计
网站设计
网站制作
网站制作价格
网站制作公司
成都网站制作
绵阳网站制作公司
联系我们
电话:13518219792
邮箱:631063699@qq.com
地址:成都青羊区锦天国际1002号
网址:www.gydahua.com
网站建设
泸州网站建设
资阳网站建设
成都门户网站建设
营销型网站建设

微信二维码

  • 友情链接
  • 成都响应式网站建设
  • 成都主机托管
  • hyruijie.cn
  • 重庆服务器托管
  • 网站排名
  • 南充网站建设
  • 青年旅行社
  • zzdkfx.com
  • 云南柴油发电机组租用
  • 重庆移动机房托管

Copyright © 2002-2023 www.gydahua.com 快上网建站品牌 QQ:244261566 版权所有 备案号:蜀ICP备19037934号

  • 在线咨询
  • 13518219792
  • 微信二维码

  • 移动版官网