91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用docker-compsoe部署前后端分離的項目

發布時間:2021-06-17 15:09:48 來源:億速云 閱讀:171 作者:小新 欄目:服務器

這篇文章主要介紹如何利用docker-compsoe部署前后端分離的項目,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

開始動手

其實我也是才開始了解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部署前后端分離的項目”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新乡县| 云安县| 综艺| 平定县| 定日县| 商都县| 泗水县| 万山特区| 银川市| 东兰县| 晋江市| 彭泽县| 城市| 武鸣县| 台北市| 昔阳县| 汽车| 天水市| 桦南县| 田阳县| 织金县| 台安县| 永和县| 来安县| 闽侯县| 嘉定区| 隆尧县| 疏附县| 沾益县| 罗源县| 芮城县| 丹江口市| 七台河市| 尚志市| 雅江县| 浏阳市| 天气| 临颍县| 温州市| 博兴县| 基隆市|